如果是Java则使用else的问题

时间:2013-02-23 17:58:48

标签: java

我有一个小问题试图在java中创建一个else if循环,我想要做的是创建一个循环,如果文件夹中的文件数是1或更少然后它做一个动作,如果它的伟大比这更进入另一个循环

这是我的循环到目前为止但没有编译:

if (new File(destination).listFiles().length) <=1 {
        return "/GUI/printServerSide.xhtml";
    }else if
         ("txt".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else if ("jpeg".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else if ("jpg".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else if ("png".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else if ("gif".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else if ("pdf".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else if ("html".equalsIgnoreCase(extension)) {
            return "/GUI/submittedFilePreview.xhtml";
        } else {
            return "/GUI/printServerSide.xhtml";
        }


    }
}

我做错了什么?

提前致谢!

4 个答案:

答案 0 :(得分:2)

我在给定的代码片段中看到两个错误,一个在第一个条件中,另一个在if ...

if (new File(destination).listFiles().length <= 1) {
    return "/GUI/printServerSide.xhtml";
}
else if("txt".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else if ("jpeg".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else if ("jpg".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else if ("png".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else if ("gif".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else if ("pdf".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else if ("html".equalsIgnoreCase(extension)) {
    return "/GUI/submittedFilePreview.xhtml";
}
else {
    return "/GUI/printServerSide.xhtml";
}

答案 1 :(得分:1)

}else if
      ^^
    if ("txt".equalsIgnoreCase(extension)) {
    ^^

答案 2 :(得分:0)

首先,根据您的逻辑,您不需要else-if-else,只需if所有情况都可以,因为您在每个块之后返回控件 其次,更正您的陈述或更新您的问题 if (new File(destination).listFiles().length) <=1 {
有了这个 if (new File(destination).listFiles().length <=1) {

答案 3 :(得分:0)

这个怎么样?

private static final String SUBMITTED_FILE_PREVIEW = "/GUI/submittedFilePreview.xhtml";
private static final String PRINT_SERVER_SIDE = "/GUI/printServerSide.xhtml";

String yourMethod(String destination, String extension) {
    if (new File(destination).listFiles().length <= 1) {
        return PRINT_SERVER_SIDE;
    } else if ("txt".equalsIgnoreCase(extension)
            || "jpeg".equalsIgnoreCase(extension)
            || "jpg".equalsIgnoreCase(extension)
            || "png".equalsIgnoreCase(extension)
            || "gif".equalsIgnoreCase(extension)
            || "pdf".equalsIgnoreCase(extension)
            || "html".equalsIgnoreCase(extension))
        return SUBMITTED_FILE_PREVIEW;

    return PRINT_SERVER_SIDE;
}