哪位大侠帮忙看看,这是怎么回事,我要控制一行输出两个数,但是用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没什么区别,但你想了解一下循环也没事,以后渐渐懂的,加油!
------解决方案--------------------------------------------------------