原题如下编写程序,读入double型数并检验该数是否在1~1000.使用Myinput类的MyInput.readDouble()方法获取输入的数 如果在其范围内 则显示用boolean类型显示true 否则显示false
public class Estimate
{
 public static void main(String[] args)
{
 double i;
 boolean b;
 System.out.println("请输入数字:");
 i=MyInput.readDouble();
  boolean Compare(double i)
{
   if(i<1000)
       return b;
   else 
       return b;
 }
 System.out.println(b);
 }
}
这段代码问题多多 望指教~~

解决方案 »

  1.   

    import java.io.Scanner;public class Estimate 

    public static void main(String[] args) 

    double i; 
    boolean b=false; 
    System.out.println("请输入数字:"); 
    Scanner MyInput=new Scanner(System.in);
    i=MyInput.nextDouble();  if(i <1000) 
          b=true; 
      else 
          b=false; System.out.println(b); 


      

  2.   


       public class Estimate 

    public static void main(String[] args) 

    double i; 
    boolean b = false; 
    System.out.println("请输入数字:"); 
    i=MyInput.readDouble(); 
     if(i<1000.0)
       b = true;
     else
       b = false;
    System.out.println(b); 

      

  3.   

     if(i<1000.0 && i >1.0)
       b = true;
     else
       b = false;
      

  4.   


    import java.io.Scanner;public class Estimate {    public static void main(String[] args) {
            double i;
            boolean b = false;
            System.out.println("请输入数字:");
            Scanner MyInput = new Scanner(System.in);
            i = MyInput.nextDouble();        if (i < 1000 && i > 0)
                b = true;
            else
                b = false;        System.out.println(b);
        }
    }
      

  5.   


    public static void main(String[] args) 

    double i; 
    boolean b;
    boolean falg=true;
    System.out.println("请输入数字:");
    while(falg)
    {
        Scanner MyInput=new Scanner(System.in);
    i=MyInput.nextDouble();
    if(i<1000.0&&i>1.0)
    {
    b=true;
    falg=false;
    MyInput.close();
    }
    else
    {
    b=false;
    }
    System.out.println("您输入的数字是"+(b?"正确的":"错误的,请重新输入!"));
    }
      

  6.   

    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);
            } 
    }这是我用面向对象的思想又重新编了下 逻辑有点乱 但又不知道怎么改清晰了...
      

  7.   


    楼主你认为你这个程序正确吗?首先:你的方法有一个Boolean类型的返回值,但是你的方法里面有吗?二:上面红色的字体能执行吗?三:你A类的方法参数何用?四:你Scanner类的调用输入Double类型的数值的方法是正确的吗?我浅解如下:
    import java.util.Scanner;//记得导入包
    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() 
            { 
                     Scanner MyInput=new Scanner(System.in);
                    i=MyInput.nextDouble(); 
                      if(i <1000.0&&i>1.0) 
                        b=true; 
                      else 
                        b=false;
                      return b;
             } 
                  
            } 
    }