我正在编写一个读取以下输入的代码
3
Ruby
Diamond
Sapphire
这是我的程序
import java.util.Scanner;
public class GemStones {
private int numOfStones;
private String[] gemArray;
public void solve() throws Exception{
Scanner in = new Scanner(System.in);
//Reading the integer
numOfStones = Integer.parseInt(in.nextLine());
//in.nextLine();
System.out.println(numOfStones);
//reading the strings
for(int i=0;i<numOfStones;i++){
gemArray[i] = in.nextLine();
System.out.println(gemArray[i]);
}
for(int i=0;i<numOfStones;i++){
System.out.println(gemArray[i]);
}
in.close();
}
public static void main(String[] args) throws Exception {
GemStones check = new GemStones();
check.solve();
}
}
我在读取其后面的字符串时遇到问题。每当我尝试读取字符串时,它都会显示错误!请帮助我..
以下是我在控制台中收到的错误
3
Ruby
Diamond
Sapphire3Exception in thread "main"
java.lang.NullPointerException
at com.sudarabisheck.easy.GemStones.solve(GemStones.java:23)
at com.sudarabisheck.easy.GemStones.main(GemStones.java:37)
最佳答案
您需要将数组初始化为,
gemArray = new String[numOfStones];
关于java - 扫描仪下一行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25562045/