前尘远 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 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了
  • ¥15 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值
  • ¥20 数据排序,可选择排序方向
  • ¥15 修改一下代码,考虑进程到达时间不同的情况
  • ¥15 帮我看看这是个啥题,带解题过程和结果,条件如下FCF = 290471.33 g1 = 15% r = 8% g2 = 4% n = 5
  • ¥15 edem模拟颗粒不显示或者生成失败
  • ¥15 Python代码编写
  • ¥15 php 将rtmp协议转hls协议,无法播放
  • ¥20 python代码编写