Discussion:
[問題] while迴圈問題
(时间太久无法回复)
我的暱稱
2006-09-19 11:34:00 UTC
Permalink
helloworld 後的第一篇就不行了, 請前輩們賜教, 先拜謝
-------------------------------------------------------------
public class NumberPersonalities {
public static void main(String[] args) {
int a = 1;
int b=2;
while ((a <= 101)&&(b<=100)) {
a=a+1;
b=b+1;
while (b <a) {
if (a % b == 0) {
System.out.println("is Composite");}
else {
System.out.println("is Prime");}
}
System.out.println(a+" ");
}
}
}

跑起來應該是
2 is Prime
3 is Prime
4 is Composite
.
.
.
100 is Composite
可是實際跑出來是
2
3
4
.
.
.
100
-----------------------------------------------------------


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 165.123.137.149
大學生
2006-09-19 14:37:11 UTC
Permalink
※ 引述《libertarian (我的暱稱)》之銘言:
: helloworld 後的第一篇就不行了, 請前輩們賜教, 先拜謝
: -------------------------------------------------------------
: public class NumberPersonalities {
: public static void main(String[] args) {
: int a = 1;
: int b=2;
: while ((a <= 101)&&(b<=100)) {
: a=a+1;
: b=b+1;
: while (b <a) {
: if (a % b == 0) {
: System.out.println("is Composite");}
: else {
: System.out.println("is Prime");}
: }
: System.out.println(a+" ");
: }
: }
: }
: 跑起來應該是
: 2 is Prime
: 3 is Prime
: 4 is Composite
: .
: .
: .
: 100 is Composite
: 可是實際跑出來是
: 2
: 3
: 4
: .
: .
: .
: 100
: -----------------------------------------------------------
邏輯上就不對了阿
如果你要照上面那種狀況跑
你應該把
System.out.println(a+" ");
寫在
: while (b <a) {
: if (a % b == 0) {
: System.out.println("is Composite");}
: else {
: System.out.println("is Prime");}
: }
前面

況且
你這樣寫
b永遠比a大
你把while條件設成b<a
就算跑一百年也跑不進去吧

以上是我目前看到的問題啦
僅供參考

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.232.184

继续阅读narkive:
Loading...