我是一个java初学者,我对以下程序的困惑是,为什么它分配值,我从键盘输入while( in.hasNext() )
变量total
,并处理total = in.intNext()
while条件的值?
混乱
System.out.print("Enter an Integer value or ctrl+z to terminate: ");
while ( in.hasNext() ) // Check for New Vlaue
{
System.out.print("Enter an Integer value or ctrl+z to terminate: ");
total += in.nextInt(); // Take input for Count
count++;
}
我的困惑是 的条件检查while loop
,它通常首先检查一个条件,然后继续执行语句,但是在这个程序中,当我在 处输入一个整数值时while( in.hasNext() )
,它不仅使条件为真,而且将该值分配给total
变量,所以我的问题,
为什么它分配值,而不是从我那里获取另一个值total = in.nextInt()
?
因为我寻找hasNext()
方法,只有在有值时才返回True 。
完成程序
import java.util.Scanner;
class Practice
{
public static void main( String[] args )
{
int count=0;
int total = 0;
Scanner in = new Scanner(System.in);
System.out.print("Enter an Integer value or ctrl+z to terminate: ");
while ( in.hasNext() ) // Check for New Vlaue
{
System.out.print("Enter an Integer value or ctrl+z to terminate: ");
total += in.nextInt(); // Take input for Count
count++;
}
System.out.printf("\nTatal values are: %d\nToatl of count is : %d",count,total);
} // end main
} // end class Practice