You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetBeans中Java代码import报错 关闭compile on save仍无效

报错根因

编译失败和NetBeans的「compile on save」配置无关,是代码本身存在三处语法错误,和编译器报的三条错误一一对应:

  • import语句位置违规:Java语法明确要求import导入语句必须写在package包声明之后、所有类定义的外层,不能放在类的大括号内部。你当前把import java.util.Scanner;写在了Act3Program1类的内部,直接触发前两个「illegal start of type」「identifier expected」报错。
  • Scanner对象未初始化:代码里直接调用keyedInput.nextInt()读取输入,但你从未声明、初始化过名为keyedInput的Scanner实例,根本无法读取控制台输入。
  • 数值写法不符合规范:Java里的浮点数小数点用英文半角句号.,不能用逗号,,你写的1,5不符合语法规则,触发第三条「; expected」报错。另外int是整数类型,直接乘小数1.5会出现类型不匹配、精度丢失问题,而且你计算完结果后没有写输出语句,就算编译通过运行后也看不到计算结果。
修正后可直接运行的代码
package act.pkg3.program.pkg1;

// import语句移到类定义外面,放在package声明之后
import java.util.Scanner;

public class Act3Program1 {
   
    public static void main(String[] args) {
        // 初始化Scanner实例,绑定控制台输入流
        Scanner keyedInput = new Scanner(System.in);
        int intComputer;
        // 用double类型存带小数的计算结果,避免精度丢失
        double totalWater;
    
        System.out.println("please enter the number of computer/monitor you own:");
        intComputer = keyedInput.nextInt();
        System.out.println("The total number of tons of water used to manufacture:");
        // 小数点替换为英文句号
        totalWater = intComputer * 1.5;
        // 打印最终计算结果
        System.out.println(totalWater);
        // 关闭输入流
        keyedInput.close();
    }
    
}

把这段代码替换掉你原来的内容,直接运行即可正常读取输入、输出计算结果。

内容的提问来源于stack exchange,提问作者user19512254

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 23:57:26