Java 为什么只交替显示输出?
如果我第一次输入数字(>5),控制台上没有输出,但是如果我第二次输入数字,控制台上有输出。 所以我得到了一个可选的输出。 有人能解释为什么会这样吗 java.util.Scanner.nextInt()方法将输入的下一个标记扫描为Java 为什么只交替显示输出?,java,java-7,Java,Java 7,如果我第一次输入数字(>5),控制台上没有输出,但是如果我第二次输入数字,控制台上有输出。 所以我得到了一个可选的输出。 有人能解释为什么会这样吗 java.util.Scanner.nextInt()方法将输入的下一个标记扫描为int,并返回它。读取令牌后,另一个nextInt()-调用将读取(如名称所示)下一个整数。 我想你期待着这样的事情: public class Two { public static void main(String[] args) { Scanner o
int
,并返回它。读取令牌后,另一个nextInt()
-调用将读取(如名称所示)下一个整数。
我想你期待着这样的事情:
public class Two {
public static void main(String[] args) {
Scanner obj = new Scanner(System.in);
while(obj.nextInt() > 5)
{
System.out.println(obj.nextInt());
}
}
}
现在,读取的整数存储在变量read
中,如果大于5,则打印出来。java.util.Scanner.nextInt()方法将输入的下一个标记扫描为int
,并返回它。读取令牌后,另一个nextInt()
-调用将读取(如名称所示)下一个整数。
我想你期待着这样的事情:
public class Two {
public static void main(String[] args) {
Scanner obj = new Scanner(System.in);
while(obj.nextInt() > 5)
{
System.out.println(obj.nextInt());
}
}
}
现在,读取的整数存储在变量
read
中,如果大于5,则打印该整数。每隔一次输入就输出一次的原因是提示扫描仪
对象在循环系统中收集两次输入。每次在扫描仪上调用next…
方法时,都会提示用户
因此,在while
循环的条件下,您要求用户输入一个整数值,然后与5
进行比较。然后,在print语句中再次调用nextInt()
方法,该方法将再次提示用户输入另一个整数值
因此,给定当前循环的一系列6个整数输入,6 2 10 4
,循环将只打印2
和4
相反,您应该在循环外提示并存储一次,然后使用条件进行测试,并在循环内打印后重新提示,就像这样
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int read;
while((read = scanner.nextInt()) > 5)
{
System.out.println(read);
}
}
每隔一次输入就获得一次输出的原因是,您正在提示扫描仪
对象在循环系统中收集两次输入。每次在扫描仪上调用next…
方法时,都会提示用户
因此,在while
循环的条件下,您要求用户输入一个整数值,然后与5
进行比较。然后,在print语句中再次调用nextInt()
方法,该方法将再次提示用户输入另一个整数值
因此,给定当前循环的一系列6个整数输入,6 2 10 4
,循环将只打印2
和4
相反,您应该在循环外提示并存储一次,然后使用条件进行测试,并在循环内打印后重新提示,就像这样
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int read;
while((read = scanner.nextInt()) > 5)
{
System.out.println(read);
}
}
当您第二次调用nextInt()
时,您将尝试从控制台读取另一个int
。您期望得到什么?您正在打印每个可选输入。当您调用nextInt()时
第二次,您将尝试从控制台读取另一个int
。您希望看到什么?您正在打印所有可选输入。非常感谢!事实上,我正在尝试打印而不存储它。非常感谢!事实上,我只是想在不储存的情况下打印。