Java if..上的语法错误。。其他声明?
我在else和底部的cs上得到了这段代码的语法错误,我不知道为什么Java if..上的语法错误。。其他声明?,java,Java,我在else和底部的cs上得到了这段代码的语法错误,我不知道为什么 public static void menuOptionSix(){ ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv"); Comparator<Customer> comparatorForSortingByEmployerGroupByDrugs = new
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());
}
}
if语句中缺少一个左大括号,因此在else之前的右大括号没有正确匹配
// v---Insert here
if (c.getEmployer().equalsIgnoreCase(c.getEmployer())) {
你忘了打开带有{ 此声明
if (c.getEmployer().equalsIgnoreCase(c.getEmployer()))
缺少一个{
而且,正如Brent Robinson所指出的,for循环缺少结束括号。您试图使用if语句的简短形式,但将其与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
在这个问题中,您可以学习如何正确使用简短的if语句三元运算符检查/匹配您的{和}。避免丢失大括号的一个简单方法是格式化代码,使它们对齐。不要在if行的末尾使用大括号,而是将它放在下一行,使每个块大括号垂直对齐。是的,它被称为Allman样式的大括号。如果这是整个方法,则也会丢失一个大括号来关闭该方法。此外,for循环丢失,正在结束}
if (c.getEmployer().equalsIgnoreCase(c.getEmployer())){
System.out.println(c.getFavoriteDrugs());
} //if closed
else {
System.out.println(c.getEmployer() + " " + c.getFavoriteDrugs());
} // else closed