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条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?