java 不确定个数输入求和
题目如下给出一串的数,请计算它们的和。输入只有一行,包含若干个数,数之间用空格隔开。数字和答案保证在int范围内。
就是说输入不确定是多少个,这种情况应该怎么写啊,
import java.util.*;
public class Main {
public static void main(String[] args) {
int a=0;
Scanner in = new Scanner(System.in);
while(in.hasNextLine()) {
a += in.nextInt();
}
in.close();
System.out.println(a);
}
}
以上是我写的,但是执行不出结果,求解惑!!!! 试试这个:import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int sum = 0;
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
if (in.hasNextInt())
sum += in.nextInt();
else
in.next();
}
in.close();
System.out.println(sum);
}
}
直接用做循环判断会阻塞,改成这样吧:
import java.util.*;
public class Main {
public static void main(String[] args) {
int a = 0;
Scanner in = new Scanner(System.in);
if (in.hasNextLine()) {
String[] temp = in.nextLine().split(" ");
for (int i = 0; i < temp.length; i++) {
a += Integer.parseInt(temp);
}
}
in.close();
System.out.println(a);
}
} 傻眼貓咪 发表于 2022-2-8 09:25
试试这个:
也不行,
例如输入这一行:
1 6 -9 6 5
还是不出结果 Twilight6 发表于 2022-2-8 09:37
直接用做循环判断会阻塞,改成这样吧:
这样可以了,但是貌似有点复杂哈哈 Twilight6 发表于 2022-2-8 09:37
直接用做循环判断会阻塞,改成这样吧:
懂了,谢谢!之前不知道split这个方法,请问next和nextLine方法的区别是什么 905853663 发表于 2022-2-8 11:51
懂了,谢谢!之前不知道split这个方法,请问next和nextLine方法的区别是什么
next 方法返回的是 非空格的有效字符,比如你输入:1 2 3 依次循环 3 次 next 会得到 "1" "2" "3"
nextLine 方法返回的是 回车 之前的所有字符,相当于此时输入的一整行字符 例如:1 2 3 返回的就是 "1 2 3"
split 分割字符串,返回一个字符串类型的数组
页:
[1]