这个词scrambler程序在编译并运行为'java'后在UNIX终端中返回的错误是
“线程中的异常”main“java.lang.ArrayIndexOutOfBoundsException:0”
甚至在研究了如何使用“FileInputStream(args [0]))”以及在'jbd'中进行常量调试之后
这个程序应该做的是从文本文件中随机抽取一个字然后加扰它。
文本文件“list.txt”的读取方式如下:
5
Apple
Pie
Horse
Computer
Tree
以下是代码:
import java.util.*;
import java.io.*;
class AnagramGenerator {
public static void main(String[] args) throws FileNotFoundException {
Random rand = new Random(1234);
Scanner in = new Scanner(new FileInputStream(args[0]));
int size = in.nextInt();
int selection = rand.nextInt(size);
int i = 0;
while (i < selection) {
in.next();
i++;
}
String word = in.next();
StringBuffer scrambled = scramble(word, rand);
System.out.println(scrambled);
}
while(sbuf.length() > 0) {
int next = rand.nextInt(sbuf.length());
result.append(sbuf.charAt(next));
sbuf.deleteCharAt(next);
}
return result;
}
}
提前谢谢。
[编辑]:巧合的是,我看了上面的链接,显示了如何防止这样的错误。这篇文章与另一篇文章的区别在于,这篇文章直接从文本文件中扫描(第一项是文件中的文字数),而另一篇文章则使用JAVA文件中的数组。抱歉这个混乱。