望各位老师帮助在下
(1) 设计一个类ShowNumber,使其具有两个public方法,这两个方法的功能分别是打印从1到50的奇数和从1到100的偶数。 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(); } } 错在哪里?请高手指教!鄙人一菜鸟!
----------------解决方案--------------------------------------------------------
对象x,y没有初始化。(没有new一下)。另外把两个else语句去掉。要理解break的作用。不要用错地方。
----------------解决方案--------------------------------------------------------
感谢EA_Games兄!
能不能在说一下BREAK什么时候用那?
----------------解决方案--------------------------------------------------------
循环的时候用最好。
----------------解决方案--------------------------------------------------------
Pane, 写程序就是将逻辑转化为代码而已, 所以如果你能合理地分析问题,那么用什么语言来写代码都是一样的。这个时候程序员从语言层面上升到了逻辑思维层面。 就你的问题来帮你分析一下: 写一个类,其具有两个方法, 方法1打印从1到50的奇数 方法2 1到100的偶数 那么它的逻辑层面是这样的。 方法1打印从1到50的奇数: 遍历 1 到 50, 如果是奇数,打印 方法2 1到100的偶数 遍历 1 到 100, 如果是偶数,打印 是不是很简单? 现在我们从逻辑代码上升到代码: 方法1打印从1到50的奇数: public void method1() 遍历 1 到50, { for(int i = 1; i<=50; i++) 如果是奇数,打印 { if((i&1) == 1) System.out.println(i);} } 方法2 1到100的偶数 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 下的命令我不执行。
----------------解决方案--------------------------------------------------------
KAI说的好。要顶一下。
----------------解决方案--------------------------------------------------------
方法1打印从1到50的奇数: public void method1() 遍历 1 到50, { for(int i = 1; i<=50; i++) 如果是奇数,打印 { System.out.println(i);i++;} } 方法2 1到100的偶数 public void method2() 遍历 1 到100, { for(int i = 1; i<=100; i++) 如果是偶数,打印 { System.out.println(i);i++;} } 请教 这样行吗 ?
----------------解决方案--------------------------------------------------------
以下是引用鼎愿远在2005-8-14 10:59:55的发言:
方法1打印从1到50的奇数: public void method1()
遍历 1 到50, { for(int i = 1; i<=50; i++)
如果是奇数,打印 { System.out.println(i);i++;}
}
方法2 1到100的偶数 public void method2()
遍历 1 到100, { for(int i = 1; i<=100; i++)
如果是偶数,打印 { System.out.println(i);i++;}
}
请教
这样行吗 ?
这里面不是没有对奇数还是偶数的判断了吗?
那……可以?
不可能吧! ----------------解决方案--------------------------------------------------------
你这样是把所有的数都打出来了。
里面应该加个判断语句才行。
if(i%2==1) --------奇数
if(i%2==0) ---------偶数
----------------解决方案--------------------------------------------------------
谢谢KAI兄!
----------------解决方案--------------------------------------------------------