用While循環(huán)判斷輸出100內(nèi)奇數(shù)偶數(shù)的和并分別輸出。求指教我在那里了弄不明白。
public?class?TestForchenfa?{ ????public?static?void?main(String[]?args)?{ ????????int?a?=1; ????????int?b?=2; ????????int?mim=0; ????????int?nin=0; ????????while(?a<=100){ ????????????if(a%2!=0){ ????????????????a++;mim+=a; ????????????} ????????????while(b<=100){ ????????????????if(b%2==0){ ????????????????????b++;nin+=b;} ????????????????} ????????????} ????????System.out.println("奇數(shù)和為:"+mim); ?????????System.out.println("偶數(shù)和為:"+nin); ????} }
2017-02-22
問(wèn)題就在于 自增自減那里,因?yàn)槠鏀?shù)和偶數(shù)的相差都為2,所以a++和b++要改為 a+=2和b+=2,這樣就對(duì)了。其實(shí),你這個(gè)程序太復(fù)雜了,還要用判斷奇數(shù)和偶數(shù)去判斷,你a為1,b為2,那么直接一個(gè)循環(huán),a+=2,b+=2,然后直到100,這樣要簡(jiǎn)便一點(diǎn)。
2017-02-22
2017-02-22
??
public static void main(String[]args){
?? ??? ?int i=1;
?? ??? ? int mim=0;
?? ??? ? int nin=0;
?? ??? ? while(i<=100){
?? ??? ??? ?if(i%2 !=0){
?? ??? ??? ??? ?mim+=i;
?? ??? ??? ??? ?i++;
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?else if(i%2 ==0){
?? ??? ??? ??? ?nin+=i;
?? ??? ??? ??? ?i++;
?? ??? ??? ?
?? ??? ??? ?}}
?? ??? ??? ?System.out.println("奇數(shù)和為:"+mim);
?? ??? ??? ?System.out.println("偶數(shù)和為:"+nin);
?? ??? ? }
}
//這樣才可以。
2017-02-22
下面代碼可以
public?class?TestForchenfa?{
????public?static?void?main(String[]?args)?
????{
? ? ? ? ?int?a?=1;
? ? ? ? ?int?b?=2;
????????int?mim=0;
????????int?nin=0;
????????while(?a<=100)
? ? ? ? {
????????????if(a%2!=0)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? mim+=a;
? ? ? ? ? ? ?}
? ? ? ? ? ? a++;
? ? ? ? ? }
????????????while(b<=100)
? ? ? ? ? {
????????????????if(b%2==0)
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? nin+=b;
????????????????}
? ? ? ? ? ? ? ?b++;
????????????}
????????System.out.println("奇數(shù)和為:"+mim);
?????????System.out.println("偶數(shù)和為:"+nin);
????}
?
}
2017-02-22
順序反了,應(yīng)該先mim+=a;,然后a++。偶數(shù)同理
2017-02-22
循環(huán)里面的意思是如果a是奇數(shù),那么a自增,那a到偶數(shù)的時(shí)候就不會(huì)自增了,所以進(jìn)入這個(gè)循環(huán)就出不來(lái)了,修改方法是把a(bǔ)++;和b++;拿出if的大括號(hào)就可以了