Java 如何使用二维数组解决问题
嘿,我想为一个朋友写一个程序来管理他的交易卡,但在写二维数组时遇到了问题。[0][0]和[0][1]被正确保存和处理,但在循环的第二次迭代中,它给出了以下错误代码:Java 如何使用二维数组解决问题,java,arrays,Java,Arrays,嘿,我想为一个朋友写一个程序来管理他的交易卡,但在写二维数组时遇到了问题。[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.ja
***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);
}
}
}
您需要注意.nextInt,因为它不使用换行符。您应该始终在之后调用.nextLine来使用换行符 如果您知道您的输入是完美的,那么这是有效的:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
public class Test {
public static void main(String[] args) {
String[][] inventory = new String[1000][2];
Scanner inp = new Scanner(System.in);
for(int i=0;i<999;i++) {
String cn = inp.nextLine();
System.out.println("Cardname: "+cn);
inventory[i][0]=cn;
int fq = inp.nextInt();
inp.nextLine();
String fq2 = Integer.toString(fq);
inventory[i][1]=fq2;
System.out.println("Frequency: "+fq2);
}
}
}
但是,在获取频率时,您应该考虑处理潜在的输入不匹配异常。您真的想制作1000次新扫描仪吗?