Java ArrayList在机器上编译但不在学校系统上编译

时间:2013-11-10 20:01:09

标签: java eclipse arraylist compiler-errors

我的任务是创建一个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();
}
}

}

1 个答案:

答案 0 :(得分:2)

您在家中和学校使用Java 7,因为钻石运算符仅对Java 7有效,因此您使用Java 6进行编译。

解决方案:要么同时使用Java 7,要么确保您的代码符合Java 6。

即改变这个:

customers = new ArrayList<>();

到此:

customers = new ArrayList<Customer>();