我已经为Inventory程序重新编写了我的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:\ Documents and 设置\ ADMINUSER \我的文档\ InventoryPart1.java:81: ')'预计 nf.formatsamsung.calculateInventoryTotal)); ^ 1错误工具已完成退出 代码1
答案 0 :(得分:6)
你错过了一个括号!
最后一行应该说:
System.out.print("Inventory______ Total:_______"+ nf.format(samsung.calculateInventoryTotal()));
(在末尾添加了)
个字符)
事实上,这正是错误所说的:')' expected
意味着 - 编译器期待一个)
字符并且不存在! :)
答案 1 :(得分:1)
正如poundifdef指出的那样(正确地),你(首先)错过了一个括号。在你的回复中,你说你现在得到5个错误而不是1.所以,我更多地回应那个陈述而不是你的额外帖子。
可能有助于你学习Java的一件事(因为我在第一次开始时犯了同样的错误)是编译和运行时错误非常具有描述性。我知道在屏幕上看到大量文字可能令人生畏,但需要花一点时间阅读它并真正解析它所说的内容。我们来看看你当前的错误(括号一)。
C:\ Documents and 设置\ ADMINUSER \我的文档\ InventoryPart1.java:81: ')'预计 nf.formatsamsung.calculateInventoryTotal)); ^ 1错误工具已完成退出 代码1
所以,这基本上是在说:
修复此错误并重新编译后,您可能会收到更多错误(听起来就像您的其他评论一样)。诀窍是在解析错误和理解他们真正说的内容时重复相同的过程。正如在另一个答案中指出的那样,良好的IDE(集成开发环境),例如Eclipse或NetBeans可以在理解代码和改进代码方面做出奇迹。除此之外,还有一个问题就是停下来并花一些时间思考,“这个错误说的是什么?”和“我的代码在做什么?”和“我到底想做什么?”
我知道这并没有直接回答你的问题(我确实为poundifdef提供了+1)但我希望这对你理解Java有所帮助。
答案 2 :(得分:0)
应该是
System.out.print(“Inventory_ 总计: __ ” + nf.format(samsung.calculateInventoryTotal()));
如果您使用像Netbeans或Eclipse这样的体面IDE,您可能会立即发现所有这些问题。
我假设InventoryPart1和电视是在单独的文件InventoryPart1.java,Television.java中 - 如果没有,它们应该是。
答案 3 :(得分:0)
执行以下操作来编译代码, 在您的InventoryPart1类中。
Television samsung = new Television ("SAMSUNG 46", "Class 6400 Series", 9.3,599.99);
System.out.print("Inventory______ Total:_______"+ nf.format(samsung.calculateInventoryTotal()));
System.out.print("Unit Price: " + nf.format(Samsung.getUnitPrice()));
在你的电视课上改变列出的内容:
private double unitPrice;
public double calculateInventoryTotal() {
//calculate total here;
return totalAmt;
}