//'main' method must be in a class 'Rextester'.
//Compiler version 1.8.0_111
import java.util.*;
import java.lang.*;
class Rextester
{
public static void main(String args[])
{
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int number;
for(int i=0;i<=n;i++){
int count=0;
number=in.nextInt();
while(number!=0){
count++;
number=number/10;
}System.out.println(count);
}System.out.println(n);//this does not get printed
}
}
n 应打印输入的 n。 为什么 for 循环后没有打印 n ? 它在 for 循环内打印
最佳答案
我认为您认为它没有打印的原因是因为您的 for 循环运行了比您预期的额外的迭代。
假设您输入 1
,然后999
,输出为3
。此时,您希望循环结束并且 1
(即 n
)再次打印对吧?但因为你的 for 循环 header 显示 int i=0;i<=n
,它实际上会运行 (n+1) 次。循环还没有结束,输出 999
后,并再次等待您的输入。这可能会让您认为程序已经结束而没有打印 n
.
您应该将 for 循环条件更改为 i < n
.
关于java - for循环后的打印语句不打印,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022185/