java新手 求大神指导

amazing0011 2013-01-17 11:49:17
刚开始学习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语句,但是输出结果是错误的,自己看不出问题在哪
求各位大神指导
非常感谢!
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
代码要留白才好阅读 if(a>0){ a = 0; }
zxhcloth 2013-01-17
  • 打赏
  • 举报
回复
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; } }
amazing0011 2013-01-17
  • 打赏
  • 举报
回复
引用 3 楼 abc41106 的回复:
for(int b = 1;b <=99 ; b++){ if(b % 2 == 1){ a = b; } result += a; } Java code?123456for(int b = 1;b <=99 ; b++){ if(b % 2 == 1){ a = b; //如果b是奇数,就赋给a } result +=……
非常感谢 是把result += a写在if语句外面了
abc41106 2013-01-17
  • 打赏
  • 举报
回复
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 楼主没把逻辑理好啊。 建议楼主单步调试,自己走一遍,就看得出来问题在哪了。

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧