Java 为什么我的代码在无限循环中运行?将来自两个不同文件的内容放入两个数组
有人能告诉我为什么这个代码无限运行吗?我想尽一切办法来解决它,但还是没办法解决。代码的前半部分工作正常。但后半段不起作用Java 为什么我的代码在无限循环中运行?将来自两个不同文件的内容放入两个数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,有人能告诉我为什么这个代码无限运行吗?我想尽一切办法来解决它,但还是没办法解决。代码的前半部分工作正常。但后半段不起作用 public static void main(String[] args) throws FileNotFoundException{ Scanner in; in = new Scanner (new File ("ratings")); int[] [] ratings = new int [30] [20]; int j = 0;
public static void main(String[] args) throws FileNotFoundException{
Scanner in;
in = new Scanner (new File ("ratings"));
int[] [] ratings = new int [30] [20];
int j = 0;
while (in.hasNextLine()){
for (int i = 0; i < 20; i++){
ratings [j] [i] = in.nextInt();
}
j++;
}
in.close();
for (int i = 0; i < ratings.length; i++){
for (int k = 0; k < ratings[i].length; k++){
System.out.print(ratings [i][k] + "");
}
System.out.println();
}
Scanner in1;
in1 = new Scanner(new File("books"));
String[] books = new String [20];
while (in1.hasNextLine()) {
for (int i = 0; i < books.length; i++){
books [i] = in1.toString();
}
}
in1.close();
}
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException{
扫描仪输入;
in=新扫描仪(新文件(“评级”);
国际贸易[]评级=新国际贸易[30][20];
int j=0;
while(在.hasNextLine()中){
对于(int i=0;i<20;i++){
评级[j][i]=in.nextInt();
}
j++;
}
in.close();
对于(int i=0;i
在最后一个循环中,由于书籍是字符串,您可能有输入错误,可能会根据您的文件结构和格式将in1.toString更改为in1.next()或in1.nextLine():
books[i]=in1.toString()代码>==e.g=>books[i]=in1.nextLine()代码>
干杯 你的代码有点难读。请考虑改善你的压痕。每个嵌套的代码块、每个for循环、while循环等都应该缩进4个空格。您在1.toString()中调用的循环从不消耗中的任何内容,因此是一个无限循环。谢谢大家的评论。我对stack还不熟悉,但我还没有掌握按stack希望的方式缩进的窍门。我缩进的方式对stack也不起作用。非常感谢。我是斯塔克的新手,但我还没有学会如何像斯塔克希望我那样去做。没问题。我们都必须在某个时候学习。继续学习和分享!:)