0

else ifループがあり、ループはファイル拡張子を検索して一致するかどうかを確認します。メッセージを印刷したくない場合は、printとprintlnを試しましたが、メッセージが印刷されません。これとは別に、ループは完全に正常に機能しているので、私が間違っていること

  if (extension.equals("txt"))
        {
            psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
        } else if (extension.equals("jpeg")) {
            psInFormat = DocFlavor.INPUT_STREAM.JPEG;
        } else if (extension.equals("png")) {
            psInFormat = DocFlavor.INPUT_STREAM.PNG;
        } else if (extension.equals("gif")) {
            psInFormat = DocFlavor.INPUT_STREAM.GIF;
        } else if (extension.equals("pdf")) {
            psInFormat = DocFlavor.INPUT_STREAM.PDF;
        } else if (extension.equals("html")) {
            psInFormat = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
        } else { 
            System.out.print ("Sorry the printer does no support your file type, sorry") ;
        }
4

1 に答える 1

3

コードに問題はありません。以下を確認できます

  • extensionは、デフォルトの実装のStringieですequals()
  • txt,jpeg,png,gif,pdf and htmlメッセージを印刷できるように、以外の拡張子を指定します

NullPointerException大文字と小文字を区別する可能性のある比較を避けるために、吹き飛ばしたような比較を行う方がよいでしょう。

if("txt".equalsIgnoreCase(extension)){
   //...
 }

最後に、任意の条件の外でデバッグステートメントを出力して、で正しく表示できるかどうかを確認できます。console

于 2013-02-13T23:58:07.050 に答える