读书人

关于控制每行输出个数的有关问题

发布时间: 2012-10-17 10:25:47 作者: rapoo

关于控制每行输出个数的问题
哪位大侠帮忙看看,这是怎么回事,我要控制一行输出两个数,但是用while语句会出错,程序会变成永真循环,停不了。

public static void PrintPrimeNumber(int n)//输出n个质数
{
int count=0;
int number=2;
final int NUMBER_OF_PER_LINE = 10;
int i=1;
while(count < n)
{
if (isPrime(number))//isPrime() 是本类的另一个方法,如果一个数是质数,那么返回真,否则返回假
{
count++;
System.out.printf("%-5s", number);
while(i%2==0) //这里我用if就可以控制每行输出的个数,当我换成while就出错了
System.out.print("\njj");//我在换行符后面加两个字符,可以看得更清楚
i++;
}
number++;
}

[解决办法]
while(i%2==0) //这里我用if就可以控制每行输出的个数,当我换成while就出错了
System.out.print("\njj");
当i=2;时无限循环吧?退不出来啊
[解决办法]

Java code
 while(i%2==0) //这里我用if就可以控制每行输出的个数,当我换成while就出错了  System.out.print("\njj");//我在换行符后面加两个字符,可以看得更清楚  i++;
[解决办法]
Java code
while(i%2==0) {//这里我用if就可以控制每行输出的个数,当我换成while就出错了  System.out.print("\njj");//我在换行符后面加两个字符,可以看得更清楚}
[解决办法]
Java code
while(i%2==0){ //这里我用if就可以控制每行输出的个数,当我换成while就出错了  System.out.print("\njj");//我在换行符后面加两个字符,可以看得更清楚  i++;}
[解决办法]
while(i%2==0) //这里我用if就可以控制每行输出的个数,当我换成while就出错了
System.out.print("\njj");//我在换行符后面加两个字符,可以看得更清楚
i++;

等价于

while(i%2==0) {
System.out.print("\njj");
}
i++;
[解决办法]
while 不是拿来给你判断的,是拿来给你循环的,把++ 放里面也没用,改成
while(i%2==0){
System.out.print("\njj");
break;

};
i++;
但这样做不太好,和if没什么区别,但你想了解一下循环也没事,以后渐渐懂的,加油!
[解决办法]
探讨

把i++放在{}的方法我试过了,结果是死循环的问题解决了但不能控制其每行输出两个。谁能解释一下这是为什么吗?

读书人网 >J2SE开发

热点推荐