-4

Javaでelseifループを作成しようとすると、少し問題が発生します。フォルダ内のファイル数が1以下の場合はループを作成し、それよりも大きい場合は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

指定されたコードスニペットに2つのエラーがあります。1つは最初の条件で、もう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";
}
于 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-elseifすべてのブロックの後にコントロールを返すので、すべての場合に問題はありません
。次に、ステートメントを修正するか
if (new File(destination).listFiles().length) <=1 {
、これで質問を 更新します。if (new File(destination).listFiles().length <=1) {

于 2013-02-23T18:11:25.133 に答える