我在“else”和底部的“c”上遇到此代码的语法错误,我不确定原因。
public static void menuOptionSix(){
ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv");
Comparator<Customer> comparatorForSortingByEmployerGroupByDrugs = new Comparator<Customer>() {
public int compare(Customer c1, Customer c2) {
return c1.getEmployer().compareToIgnoreCase(c2.getEmployer());
}
};
Collections.sort(list, comparatorForSortingByEmployerGroupByDrugs);
for (Customer c : list){
if (c.getEmployer().equalsIgnoreCase(c.getEmployer()))
System.out.println(c.getFavoriteDrugs());
} else {
System.out.println(c.getEmployer() + " " + c.getFavoriteDrugs());
}
}
答案 0 :(得分:2)
您在if
语句中缺少左括号,因此else
之前的右大括号未正确匹配。
// v---Insert here
if (c.getEmployer().equalsIgnoreCase(c.getEmployer())) {
答案 1 :(得分:0)
如果阻止{
|here
if (c.getEmployer().equalsIgnoreCase(c.getEmployer())){
System.out.println(c.getFavoriteDrugs());
}
答案 2 :(得分:0)
本声明
if (c.getEmployer().equalsIgnoreCase(c.getEmployer()))
缺少{
。
而且,正如Brent Robinson所指出的那样,你的for
循环错过了结束括号。
答案 3 :(得分:0)
您正在尝试使用if语句的Short形式,但是使用else语句,您应该对if语句使用{,}或使用三元运算符而不是if else。
if (c.getEmployer().equalsIgnoreCase(c.getEmployer())){
System.out.println(c.getFavoriteDrugs());
} //if closed
else {
System.out.println(c.getEmployer() + " " + c.getFavoriteDrugs());
} // else closed
Here在本课题中,您可以了解如何正确使用if语句的简短形式(三元运算符)