Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java if..上的语法错误。。其他声明?_Java - Fatal编程技术网

Java if..上的语法错误。。其他声明?

Java if..上的语法错误。。其他声明?,java,Java,我在else和底部的cs上得到了这段代码的语法错误,我不知道为什么 public static void menuOptionSix(){ ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv"); Comparator<Customer> comparatorForSortingByEmployerGroupByDrugs = new

我在else和底部的cs上得到了这段代码的语法错误,我不知道为什么

    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