日期:2014-05-20  浏览次数:20703 次

java新手 求大神指导
刚开始学习java 没有编程基础
这几天看了马士兵老师的java视频    熟悉基本语法
今天看到for循环   视频上留的小习题
用for循环编写以下程序,求1+3+5+7+.........+99的值并输出
为了建立自己的编程思想所以想尝试多种方法
public class jisuan {
public static void main (String [] arge) {
long result = 0;
for (int b = 1; b <= 99; b = b+2){
result = result + b;
}
System.out.println("result="+result);
}

}这个自己感觉没有问题输出结果也是正确的,
public class jisuan {
public static void main(String []args) {
long result = 0;
long a = 0;
for(int b = 1;b <=99 ; b++){
if(b % 2 == 1){
a = b; }
result += a; }
System.out.println("result = " + result);
}
}
但是这个希望同时练习一下if语句,但是输出结果是错误的,自己看不出问题在哪  
求各位大神指导
非常感谢!
java?求助

------解决方案--------------------
for(int b = 1;b <=99 ; b++){
if(b % 2 == 1){
a = b; }
result += a; }

改成

for(int b = 1;b <=99 ; b++){
if(b % 2 == 1){
result += b; }
}
------解决方案--------------------
代码要留白才好阅读
if(a>0){
      a = 0;
}
------解决方案--------------------
for(int b = 1;b <=99 ; b++){
if(b % 2 == 1){
a = b; }
result += a; }
for(int b = 1;b <=99 ; b++){
     if(b % 2 == 1){
          a = b; //如果b是奇数,就赋给a
     }
     result += a;//这里不管b是不是奇数,都执行了 
}

这里的效果相当于1+1+3+3+5+5+.....+99
楼主没把逻辑理好啊。
建议楼主单步调试,自己走一遍,就看得出来问题在哪了。