前尘远 2021-10-08 17:38 采纳率: 90.9%
浏览 50
已结题

构造方法和普通方法还不是很会,希望有人帮我看看,可能错的有点多

ntReceiver类可以接受指定范围内的整数值,具有下面2个属性:

最小的可接受值

最大的可接受值

并具有一个构造方法和一个普通方法:

   构造方法public IntReceiver(int min, int max):接收两个整数作为参数,分别用于设定最小和最大可接受值。

方法public int getValue(sc),功能是读取键盘输入的一个整数。如果读取的值不在允许范围内,则显示提示字符串,并重新要求用户输入一个新值,重复以上步骤直到输入了一个可接受的值。最后返回读取到的整数。参数sc是一个Scanner类对象。

要求编程实现IntReceiver类,使给定的Test类能正常运行,并实现指定的输出内容。

public class Test
{
public static void main(String[] args)
{

    IntReceiver ir;

    int value;


    Scanner sc = new Scanner(System.in);

    //input the min value;

    int min = sc.nextInt();


    //input the max value;

    int max = sc.nextInt();



    ir = new IntReceiver(min, max);

    value = ir.getValue(sc);

    System.out.println("The value is: "+value);

}

}
【输入形式】先输入接收整数的范围,在输入接收的整数,如果不在范围中给出提示,在范围中显示输入数据
【输出形式】错误提示,显示输入数据
【样例输入】

12 122

1 134 34

【样例输出】

Invalid value

Invalid value

The value is: 34


mport java.util.Scanner;
public class baer {
    static public void main(String args[]){
        IntReceiver ir;

        int value;


        Scanner sc = new Scanner(System.in);

        //input the min value;

        int min = sc.nextInt();


        //input the max value;

        int max = sc.nextInt();



        ir = new IntReceiver(min, max);

        value = ir.getValue(sc);

        System.out.println("The value is: "+value);
    }
}


 class IntReceiver {
     private int min;
     private int max;

     public IntReceiver(int min, int max) {
         this.min = min;
         this.max = max;
     }

     class getValue {
         private int sc;

         public getValue(int sc) {
             this.sc = sc;
             while (sc < min && sc > max) {
                 System.out.print("Invalid value");
             }
         }
     }
 }

  • 写回答

2条回答 默认 最新

  • Winson.J 2021-10-08 17:49
    关注

    41行到50行修改如下

    public String getValue(Scanner sc){
       
       while(true){
         int value = sc.nextInt();
          if (value < min || value > max) {
             System.out.println("Invalid value");
           }else {
             System.out.println("The value is: " + value);
              break;
          }
      }
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月10日
  • 创建了问题 10月8日

悬赏问题

  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?