我在输入时不断收到java.lang.ArrayIndexOutOfBoundsException: 5 6
请假设我只输入两个与他们之间有空格的数字
尝试了next()
和nextLine()
。
import java.util.Scanner;
public class HelloWorld{
public static void main(String []args) throws Exception{
System.out.println("Hello World");
Scanner in = new Scanner(System.in);
String NandK=in.nextLine();
String[] pow=NandK.split("\\s+");
String valueOfN=pow[0];
String valueOfK=pow[1];
System.out.println(valueOfN);
System.out.println(valueOfK);
}
}
输出
Hello World
5 6
线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:1
在HelloWorld.main(HelloWorld.java:13)
答案 0 :(得分:0)
您使用了错误的正则表达式
使用"\\s+"
代替"//s+"
并使用in.nextLine()
代替in.next()
输出
Hello World
5 6
5
6
BUILD SUCCESSFUL (total time: 2 seconds)
答案 1 :(得分:0)
因为输入时不会修复多少个字符,所以最好使用for循环
public static void main(String[] args) {
System.out.println("Hello World");
Scanner in = new Scanner(System.in);
String NandK = in.nextLine();
String[] pow = NandK.split("\\s+");
for(int i = 0;i<pow.length;i++){
String valueOfN = pow[i];
System.out.println(valueOfN);
}