WNOKIA7610 2009-07-16 18:40
浏览 240
已采纳

java新手程序

原题如下

编写程序,读入double型数并检验该数是否在1~1000.使用Myinput类的MyInput.readDouble()方法获取输入的数 如果在其范围内 则显示用boolean类型显示true 否则显示false
public class Estimate
{
public static void main(String[] args)
{

          A myA=new A(); 

          System.out.println("请输入数字:"); 
          System.out.println(myA.Compare()); 

}

class A
{

double i;
boolean b;

          boolean Compare(boolean b) 
    { 
            i=MyInput.readDouble(); 
              if(i <1000.0&&i>1.0) 
                b=true; 
              else 
                b=false;} 
          System.out.println(b); 
    } 

}

这是我用面向对象的思想又重新编了下 逻辑有点乱 但又不知道怎么改清晰了...

  • 写回答

3条回答 默认 最新

  • pjuneye 2009-07-17 01:53
    关注

    [code="java"]
    public class Estimate {
    public static void main(String[] args) {
    System.out.println("请输入数字:");
    double in = MyInput.readDouble(); // 在这里而不是在compare里面,获取与处理要分开.
    double upperlimit = 1000d;
    double lowerlimit = 0d;
    System.out.println(Comparator.Compare(in, upperlimit, lowerlimit));

    }
    

    }

    class Comparator { // 不要动手就A,A有意义吗?
    //定义这样的Compare是为了方便以后范围变化时调用.
    static boolean Compare(double value, double upperlimit, double lowerlimit) { // 这种自给自足的工具方法,适合使用static修饰.方便调用

        boolean b = false; // /如果需要,变量尽可能的收起来减少暴露,也就减少被误用的危险.申明变量就初始化,是个好习惯.
        if (value < upperlimit && value > lowerlimit) {
            b = true;
        } else {
            b = false;
        }
        System.out.println(b);
        return b;
    }
    

    }
    [/code]

    简单修改下,希望对LZ有启发!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题