Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法获取要编译的代码:';)';预期_Java - Fatal编程技术网

Java 无法获取要编译的代码:';)';预期

Java 无法获取要编译的代码:';)';预期,java,Java,我已经为清单程序重新编写了java代码,但仍然无法编译代码 import java.text.NumberFormat; import java.util.Locale; import java.util.Scanner; class Television { private String itemNumber; private String productName; private double units; //constructor pub

我已经为清单程序重新编写了java代码,但仍然无法编译代码

import java.text.NumberFormat;
import java.util.Locale;
import java.util.Scanner;

class Television {

    private String itemNumber;
    private String productName;
    private double units;



    //constructor
    public Television (String itemNumber, String productName, double units, double unitprice) {
        setItemNumber(itemNumber);
        setProductName(productName);
        setUnits(units);
        setUnitPrice(unitPrice);

    }

    //accessor methods for class variables
    public String getItemNumber () {
        return itemNumber;
    }

    public void setItemNumber (String itemNumber) {
        this.itemNumber = itemNumber;
    }

    public String getProductName () {
        return productName;
    }

    public void setProductName (String productName) {
        this.productName = productName;
    }

    public double getUnits () {
        return units;
    }

    public void setUnits (double units) {
        this.units = units;
    }

    public double getUnitPrice () {
        return unitPrice;
    }

    public void setUnitPrice (double unitPrice) {
        this.unitPrice = unitPrice;
    }

}
public class InventoryPart1 {

    public static void main (String args[]) {

        NumberFormat nf = NumberFormat. getCurrencyInstance(Locale.US);

        //create an instance of the Television class

        Television samsung = new Television ("SAMSUNG 46", "Class 6400 Series", 9.3,1,599.99);

        //use the methods from class Television to output the inventory details.
        System.out.println("Item Number: " + samsung.getItemNumber());

        System.out.println("Product Name: " + samsung.getProductName());

        System.out.print("Number of Units: " + samsung.getUnits());

        System.out.print("Unit Price: " + nf.format(Samsung.getUnitPrice()));

        System.out.print("Inventory______ Total:_______"+

  nf.format(samsung.calculateInventoryTotal());
我收到以下错误:

C:\文件和 设置\AdminUser\MyDocuments\InventoryPart1.java:81: ")"预期" nf.formatsamsung.calculateInventoryTotal); ^1错误工具已完成并退出 代码1

  • 单价与电视构造函数调用中的单价不匹配
  • 缺少单价实例变量
  • 电视需要向公众宣布
  • TV构造函数与InventoryPart1中的调用不匹配-一个额外的参数(或一个缺少的参数)
  • 清单第1部分中三星变量错误地标为三星
  • 缺少calculateInventoryTotal方法
  • 应该是

    System.out.print(“库存总量:”+nf.format(samsung.calculateInventoryTotal())

如果您使用像Netbeans或Eclipse这样的像样的IDE,您可能会立即发现所有这些问题


我假设InventoryPart1和TV在单独的文件InventoryPart1.java、TV.java中——如果不是,它们应该是。

缺少括号

最后一行应该是:

System.out.print("Inventory______ Total:_______"+ nf.format(samsung.calculateInventoryTotal()));
(在末尾添加了一个
字符)

祝你好运

事实上,这正是错误所说的:
)“expected
的意思正是-编译器需要一个
字符,但它不在那里!:)

正如poundifdef(正确地)指出的,您(首先)缺少了一个括号。在你的回答中,你说你现在得到5个错误而不是1个。因此,我对这一声明的回应更多,而不是你的额外帖子

在学习Java时,有一件事可能会对您有所帮助(因为我在刚开始学习Java时也犯了同样的错误),那就是编译和运行时错误是非常描述性的。我知道看到大量文本出现在屏幕上可能会让人感到害怕,但请花一秒钟时间阅读并真正解析它所说的内容。让我们看一下你当前的错误(括号一)。 C:\文件和 设置\AdminUser\MyDocuments\InventoryPart1.java:81: ")"预期" nf.formatsamsung.calculateInventoryTotal); ^1错误工具已完成并退出 代码1

所以,这基本上是说:

  • java:81-这是发生错误的行
  • 预期为“)”-因此,缺少右括号。这表明您可能必须计算该行(或者更可能是该语句中)的括号,并找出没有正确关闭括号的位置
  • nf.formatsamsung.calculateInventoryTotal);-编译器正在(大致)向您显示它认为问题所在的位置
一旦你修复了这个错误,并且重新编译,你可能会得到更多的错误(听起来像是从你的其他评论中得到的)。诀窍是重复同样的过程来解析错误并理解它们真正在说什么。正如在另一个答案中指出的那样,一个好的IDE(集成开发环境),例如or,可以在理解代码和改进代码方面发挥奇效。除此之外,这是一个停下来花一些时间思考的问题,“这个错误在说什么?”和“我的代码在做什么?”以及“我在这里真正想做什么?”


我知道这并没有直接回答您的问题(我确实向poundifdef提供了+1),但我希望这能帮助您理解Java。

请执行以下操作来编译代码, 在你的InventoryPart1课上

  • 将此调用放在TV类中,只需删除一个参数,因为构造函数只有4个参数:
    TV samsung=new TV(“samsung 46”,“class 6400 Series”,9.3599.99)
  • 在上面的帖子中加上一个“)”,表明您缺少以下内容:
    System.out.print(“库存总额:+nf.format(samsung.calculateInventoryTotal())
  • 将Samsung的拼写改为Samsung:
    System.out.print(“单价:+nf.format(Samsung.getUnitPrice()))
  • 在你的电视课上,改变下列内容:

  • 放置一个实例变量
    private double unitPrice
  • 将参数名称unitprice的拼写更改为unitprice:`public TV(String itemNumber,String productName,double units,double unitprice){…}
  • 定义一个方法,因为它可以为您计算总计并返回总计金额。
    public double calculateInventoryTotal(){
    //在这里计算总数;
    返回总金额;
    }

  • 看起来你还没有发布所有的代码-你能这样做吗?并粘贴您得到的编译错误?C:\Documents And Settings\AdminUser\MyDocuments\InventoryPart1.java:81:“)”应为nf.formatsamsung.calculateInventoryTotal);^1错误工具已完成,退出代码为1@Raven50-您可以编辑自己的帖子并将错误放入其中。(这次我是为你做的。)@Kevin Hikaru Evans:编译和工作都是。事实上,我不知道这两种表达的实际区别是什么,但我没有看到任何证据表明后者是错误的。有没有一个引用可以说明这一点?@Kevin,poundifdef:不同数组语法生效的最常见的地方是在声明变量时:如果您声明like
    int[]a,b
    您将得到两个
    int
    数组
    a
    b
    ,但是如果您声明
    inta[],b
    您将得到一个
    int
    数组
    a
    和一个普通
    int
    b
    。了解您是否有在一条语句中声明多个变量的习惯很有帮助。我也尝试过,但它说我有5个错误,而不是1个。我真的很困惑Java@Raven50-见我的帖子。它可能会帮助你。(+1表示