java中scanner的用法错误

import java.util.Scanner;
public class CashCounter{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入香蕉的重量:(斤)");
        double banana = sc.nextDouble;
        System.out.println("请输入苹果的重量:(斤)");
        double apple = sc.nextDouble();
        double JE;
        JE = apple * 3.4 + banana * 3.8;
        System.out.printf("购买香蕉%f斤购买苹果%f斤,总计%.2f",banana,apple,JE);
        System.out.println("顾客实际支付金额:(元)");
        double tureJE = sc.nextDouble();
        sc.close();
        System.out.printf("顾客实际支付金额:%f(元),应该找回%.1f元",tureJE,tureJE-JE);

}
}


  • Main.java:6: error: cannot find symbol
      double banana = sc.nextDouble;
                        ^
    
    symbol: variable nextDouble
    location: variable sc of type Scanner
    1 error
  double banana = sc.nextDouble();
括号!

参考GPT和自己的思路:

您好,以上代码中出现了scanner用法的错误,即在第6行中使用了 nextDouble 方法,而应该使用 nextDouble() 方法。代码中应该把 sc.nextDouble 改为 sc.nextDouble(),修改后的代码如下:

import java.util.Scanner;

public class CashCounter {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入香蕉的重量:(斤)");
        double banana = sc.nextDouble();
        System.out.println("请输入苹果的重量:(斤)");
        double apple = sc.nextDouble();
        double JE;
        JE = apple * 3.4 + banana * 3.8;
        System.out.printf("购买香蕉%f斤购买苹果%f斤,总计%.2f",banana,apple,JE);
        System.out.println("顾客实际支付金额:(元)");
        double tureJE = sc.nextDouble();
        sc.close();
        System.out.printf("顾客实际支付金额:%f(元),应该找回%.1f元",tureJE,tureJE - JE);
    }
}

修改后的代码可以正常编译和运行。希望能够对您有所帮助。

double banana = sc.nextDouble(); 你没加括号

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^