我正在学习Java,并且想知道是否可以在同一行中键入数字而无需花费额外的时间?

for (int i = 0; i < 5; i++) {
    int a = sc.nextInt();
    if (i == 4){
        break;
    }
}


如果我在输入的每个数字之后按Enter键,则我只能有5个数字,并且它们都在一列中,但是如果我想在一行中键入数字,那么我可以有5个以上的数字。那么有没有办法做到,在C ++中有什么与\a类似的东西吗?

最佳答案

使用扫描仪的nextLine()方法。

它将读取整行并返回一个字符串。

使用空格分割字符串并存储在字符串数组中。

遍历字符串数组。选择一个索引并借助Integer类parseInt方法对其进行解析。

以阵列形式存储或以您想要/需要的任何方式使用。

输入模式:-12 13 14 15 16 16 18

1行中可以有N个整数。

注意:-您应确保用户仅在输入中输入整数。否则,您需要在将字符串转换为整数之前编写if和else逻辑。这样您的代码就不会抛出异常。

String a = sc.nextLine();
String arr[] = a.split("\\s+"):
int input[] = new int[arr.length];

for( int i = 0 ; i < arr.length ; i++){
    input[i] = Integer.parseInt(arr[i]);
}

10-05 21:12
查看更多