你这两个代码貌似应该没有区别啊。一个只是接收输入的时候用的是int,后面还是会转换成double的啊,应该没有区别。我不知道你问的是什么意思?

解决方案 »

  1.   

    import java.text.DecimalFormat;
    import java.util.Scanner;
     
    public class IO_1009 {
        public static void main(String[] args) {
            double x;
            double y;
            DecimalFormat df = new DecimalFormat("0.00");
            Scanner input = new Scanner(System.in);
            x=input.nextDouble();//重点是这一行
            if (x < 15)
                y = (x) * 4 / 3;
            else
                y = 2.5 * (x) - 17.5;
             
            System.out.println(df.format(y));
            input.close();
        }
     
    }
    自己看写有注释。
      

  2.   

    你的第二段代码我复制过去了也没有你说的提示啊,不明白你要问的到底是什么。input.nextInt()是将输入信息的下一个标记扫描为一个 int,如果你的x是double类型的,建议你还是用input.nextDouble()
      

  3.   

    x是double类型的,必须用input.nextDouble().
      

  4.   

    x是double类型的,必须用input.nextDouble().用input.nextInt()的话,控制台只能输入整数而不能输入小数的,程序接收控制体输入后将该整数转成double类型的;用input.nextDouble()的话,控制台是可以输入小数而不出错的。nextInt和nextDouble只是将控制台的输入转成对应的int或double类型的
      

  5.   

    x是double类型的,必须用input.nextDouble().用input.nextInt()的话,控制台只能输入整数而不能输入小数的,程序接收控制体输入后将该整数转成double类型的;用input.nextDouble()的话,控制台是可以输入小数而不出错的。nextInt和nextDouble只是将控制台的输入转成对应的int或double类型的
    抬杠`````