| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖
标题:望各位老师帮助在下
只看楼主 加入收藏
Pane
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-15
收藏
 问题点数:0 回复次数:9 
望各位老师帮助在下

(1) 设计一个类ShowNumber,使其具有两个public方法,这两个方法的功能分别是打印从150的奇数和从1100的偶数。 public class ShowNum { public void a() { for(int i=1;i<=50;i++) { if(i%2==1) System.out.println(i); else break; } } public void b() { for(int i=1;i<=100;i++) { if(i%2==0) System.out.println(i); else break; } } public static void main(String args[]) { ShowNum x,y; x.a(); y.b(); } } 错在哪里?请高手指教!鄙人一菜鸟!

搜索更多相关主题的帖子: Roman Times New 
2005-08-12 20:04
EA_Games
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:539
专家分:0
注 册:2005-3-13
收藏
得分:0 
对象x,y没有初始化。(没有new一下)。另外把两个else语句去掉。要理解break的作用。不要用错地方。

2005-08-12 20:34
Pane
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-15
收藏
得分:0 
感谢EA_Games兄!
能不能在说一下BREAK什么时候用那?
2005-08-12 20:51
EA_Games
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:539
专家分:0
注 册:2005-3-13
收藏
得分:0 
循环的时候用最好。

2005-08-12 22:48
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
Pane, 写程序就是将逻辑转化为代码而已, 所以如果你能合理地分析问题,那么用什么语言来写代码都是一样的。这个时候程序员从语言层面上升到了逻辑思维层面。 就你的问题来帮你分析一下: 写一个类,其具有两个方法, 方法1打印从150的奇数 方法2 1100的偶数 那么它的逻辑层面是这样的。 方法1打印从150的奇数: 遍历 1 到 50, 如果是奇数,打印 方法2 1100的偶数 遍历 1 到 100, 如果是偶数,打印 是不是很简单? 现在我们从逻辑代码上升到代码: 方法1打印从150的奇数: public void method1() 遍历 1 到50, { for(int i = 1; i<=50; i++) 如果是奇数,打印 { if((i&1) == 1) System.out.println(i);} } 方法2 1100的偶数 public void method2() 遍历 1 到100, { for(int i = 1; i<=100; i++) 如果是偶数,打印 { if((i&1) == 0) System.out.println(i);} } 现在你看到了,你代码中的那个else 是不必要的,为什么呢?因为在我们的逻辑代码中根本没有出现过啊。 来回答你那个break 的问题。 用大白话的方式来解释呢,就是这件事干完了,我不比再干下去了。那个时候你就要用 break; 我们在 switch 语句中经常要用到 break, 为什么呢? switch 语句中,我们一个初始值作为切入的条件,一旦满足一种条件,即一旦符合一种case, 就执行这个case 中的命令,命令执行完毕,就要用到break, 也就是说,这件事干完了,其余case 下的命令我不执行。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-13 00:51
tmy300
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-8-11
收藏
得分:0 
KAI说的好。要顶一下。

2005-08-13 20:04
鼎愿远
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-8-10
收藏
得分:0 
方法1打印从150的奇数: public void method1() 遍历 1 到50, { for(int i = 1; i<=50; i++) 如果是奇数,打印 { System.out.println(i);i++;} } 方法2 1100的偶数 public void method2() 遍历 1 到100, { for(int i = 1; i<=100; i++) 如果是偶数,打印 { System.out.println(i);i++;} } 请教 这样行吗 ?
2005-08-14 10:59
tmy300
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-8-11
收藏
得分:0 
以下是引用鼎愿远在2005-8-14 10:59:55的发言: 方法1打印从150的奇数: public void method1() 遍历 1 到50, { for(int i = 1; i<=50; i++) 如果是奇数,打印 { System.out.println(i);i++;} } 方法2 1100的偶数 public void method2() 遍历 1 到100, { for(int i = 1; i<=100; i++) 如果是偶数,打印 { System.out.println(i);i++;} } 请教 这样行吗 ?
这里面不是没有对奇数还是偶数的判断了吗? 那……可以? 不可能吧!

2005-08-14 12:09
深夜狼
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:348
专家分:0
注 册:2005-5-9
收藏
得分:0 
你这样是把所有的数都打出来了。
里面应该加个判断语句才行。
if(i%2==1)        --------奇数
if(i%2==0)        ---------偶数
2005-08-14 12:10
Pane
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-15
收藏
得分:0 
谢谢KAI兄!
2005-08-15 15:38
快速回复:望各位老师帮助在下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012234 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved