我的任务是创建一个 ArrayList,用于跟踪商店每天的销售额并发布哪个顾客花费最多的信息。我完成了作业,我是这么想的。所有三个类都在 Eclipse 和我的终端窗口中进行编译。然而,当我将它们上传到学校的系统然后进行测试时,我在类里面遇到了错误。不用说,这对我这样一个新手来说是令人沮丧和困惑的。这是我的 ArrayList 语法的某种问题,但我无法弄清楚,因为它在 Eclipse 上工作正常。 :/
我收到的错误是:
Store.java:17: illegal start of type
customers = new ArrayList<>(); \\the up arrow is under the ">"
代码如下。
//******************************************
// Store.java
// Written...
// 2013
//*******************************************
//===========================================
// Store class holds ArrayList of customers
//===========================================
import java.util.ArrayList;
import java.util.List;
public class Store {private List<Customer> customers; //stores customers
public Store() {
customers = new ArrayList<>();
}
//creates new customer for arraylist
public void addSale(String customerName, double amount) {
Customer c = new Customer(customerName, amount);
customers.add(c);
}
//finds the best customer
public String nameOfBestCustomer() {
if (customers.isEmpty()) {
return "No customers are stored!";
} else {
Customer best = customers.get(0);
for (Customer c : customers) {
if (c.getAmount() > best.getAmount()) {
best = c;
}
}
return best.getName();
}
}
}
最佳答案
您在家中使用 Java 7,在学校则使用 Java 6 进行编译,因为菱形运算符仅对 Java 7 有效。
解决方案:要么使用 Java 7,要么确保您的代码与 Java 6 兼容。
即更改此:
customers = new ArrayList<>();
对此:
customers = new ArrayList<Customer>();
关于Java ArrayList可以在机器上编译,但不能在学校系统上编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894441/