java如何解决二维数组的问题
嘿,我想为一个朋友写一个程序来管理他的交易卡,但在写二维数组时遇到了问题。[0][0]和[0][1]被正确保存和处理,但在循环的第二次迭代中,它给出了以下错误代码:
***Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at benni/benni.Main.main(Main.java:13)***
package benni;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
public class Main {
public static void main(String[] args) {
String[][] inventory = new String[1000][2];
for(int i=0;i<999;i++) {
try (Scanner inp = new Scanner(System.in)) {
String cn = inp.next();
System.out.println("Cardname: "+cn);
inventory[i][0]=cn;
int fq = inp.nextInt();
String fq2 = Integer.toString(fq);
inventory[i][1]=fq2;
System.out.println("Frequency: "+fq2);
}
}
}
# 1 楼答案
您需要注意
.nextInt()
,因为它不会使用换行符。您应该始终在之后调用.nextLine()
来使用换行符如果你知道你的输入是完美的,这是有效的:
然而,在获得频率时,你应该考虑处理你的潜力