-4

我在尝试在 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

4 回答 4

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";
}
于 2013-02-23T18:05:59.413 回答
1
}else if
      ^^
    if ("txt".equalsIgnoreCase(extension)) {
    ^^
于 2013-02-23T18:01:51.387 回答
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;
}
于 2013-02-23T18:18:50.773 回答
0

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

于 2013-02-23T18:11:25.133 回答