谁能给我讲讲这是为什吗?
import java.util.Scanner;
public class BasicType {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
System.out.println("请输入若干整数");
int sum=0;
String str;
while(s.hasNextInt())
sum+=s.nextInt();
System.out.println(sum);
s.close();
}
}
我回车后怎么结束不了输入啊!!!!!!
s.hasNextInt()何时返回true,何时又返回false!!!!!
我特别想知道:如何输入完数字后,回车,直接打印出sum的值并结束程序!!!!!!
困扰我好久好久!!!!!
------解决方案--------------------经过测试,回车不会返回true or false.
在回车时应该线程还是暂停的。
应该使用一个确定的值来判断输入完毕,不能根据回车判断。
Scanner s=new Scanner(System.in);
System.out.println("请输入若干整数");
int sum=0;
while (s.hasNext()){
s.next();
System.out.println(sum++);
}
System.out.println(sum);
s.close();
------解决方案--------------------Java code
import java.util.Scanner;
public class A {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
System.out.println("请输入若干整数");
int sum=0;
String str;
while(s.hasNextInt()) //输入非数字结束循环
sum+=s.nextInt();
System.out.println(sum);
s.close();
}
}
------解决方案--------------------
hasNextInt() : 如果通过使用 nextInt() 方法,此扫描器输入信息中的下一个标记可以解释为指定基数中的一个 int 值,则返回 true。
------解决方案--------------------
------解决方案--------------------
Java code
import java.util.Scanner;
public class A {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入若干整数:");
int sum=0;
String str;
while(s.hasNextInt()){ //输入非数字结束循环
sum+=s.nextInt();
System.out.println("结果:"+sum);
}
s.close();
System.out.println("输入数为非整数字,程序结束!");
}
}