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 android报错 brut.common.BrutException: could not exec (exit code = 1)
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!
  • ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?