【发布时间】:2016-11-18 10:15:09
【问题描述】:
我正在尝试编写一个使用凯撒密码对纯文本进行编码的 java 程序。我有一个包含纯文本的文件和另一个应该放置编码文本的文件。我不知道是什么问题,但我得到了错误:线程“主”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());
}
}
}
请帮我找到解决办法!
错误堆栈跟踪是:
线程“main”中的异常 java.util.NoSuchElementException at
java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(未知来源)在 Zevendesimi.zevendesim.zevendesim(zevendesim.java:33) 在 Zevendesim.zevendesim.main(zevendesim.java:15)
【问题讨论】:
-
至少发布更详细的错误堆栈跟踪。
-
Zevendesimi.zevendesim.zevendesim( zevendesim.java:33) 在 Zevendesimi.zevendesim.main(zevendesim.java:15)
-
添加到问题
-
为什么要使用 Scanner 来遍历字符串?只需使用 For。
-
好的。我会试试的
标签: java file java.util.scanner