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("输入数为非整数字,程序结束!"); }}