2016-11-18 7 views
0

シーザー暗号を使用してプレーンテキストをエンコードするJavaプログラムを作成しようとしています。私はプレーンテキストとエンコードされたテキストを置くべき別のファイルを含むファイルを持っています。私は問題を知っていませんが、私はエラーが表示されます:スレッド "main" java.util.NoSuchElementExceptionの例外。私を助けてください!シーザー暗号ファイルを使用して

import java.io.File; 
    import java.io.FileNotFoundException; 
    import java.io.PrintStream; 
    import java.util.Scanner; 

    public class zevendesim { 

    public static void main(String[] args) 
     throws FileNotFoundException { 
    Scanner input=new Scanner(new File("C:\\erida\\t.txt")); 
    PrintStream output=new PrintStream(new File("C:\\erida\\c.txt")); 
    String text=input.nextLine(); 
    zevendesim(text, output); 
} 
public static void zevendesim(String text, PrintStream output) 
{ 

    int i=0; 
    String s; 
    Scanner data = new Scanner(text); 
    while (data.hasNext()) { 
     s=data.next(); 
     if (s.charAt(i) >= 97 && s.charAt(i)<= 120) 
     { 
      int x = s.charAt(i) - 97; 
      x = (x + 2) % 26; 
      if (x < 0) 
       x += 26; 
      // = (char) (x + 32); 
     } 
     output.print(" " + data.next()); 
    } 

} 
} 

私は解決策を見つける助けてください!

エラースタックトレースは次のとおりです。

Exception in thread "main" java.util.NoSuchElementException at
java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at Zevendesimi.zevendesim.zevendesim(zevendesim.java:33) at Zevendesimi.zevendesim.main(zevendesim.java:15)

+1

少なくとも、エラーの詳細なスタックトレースを投稿してください。 Zevendesimi.zevendesim.zevendesimのスレッドで –

+1

例外java.util.Scanner.throwForで "メイン" java.util.NoSuchElementException \t(不明なソース)java.util.Scanner.nextで \t(不明なソース) \t(zevendesim .java:33) \t(Zevendesimi.zevendesim.main)(zevendesim.java:15) – Elly

+2

質問に追加 –

答えて

1

最後のトークンは、すでにあなたはおそらく出力にXを書きたいs=data.next();

と以前の数行を読んでてきたため、エラーがoutput.print(" " + data.next());で発生?

関連する問題