50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊。。哈哈
【程序16】Nine.java
题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
package test50; /** * @author VellBibi *【程序16】Nine.java *题目:输出9*9口诀。 *1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 */ public class Nine { public static void main(String[] args) { for(int i=1; i<=9; i++){ for(int j=1; j<=i; j++){ System.out.print(j + "*" + i + "=" + i*j + " "); } System.out.println(); } } }
【程序17】MonkeyEatPeach.java
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断(递归)
package test50; /** * @author VellBibi *【程序17】MonkeyEatPeach.java *题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半 *,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 *1.程序分析:采取逆向思维的方法,从后往前推断 */ public class MonkeyEatPeach { /** * 获取d天前有多少桃子 * @param d * @return */ public static int getNum(int d){ if(d == 0) return 1; else return (getNum(d-1) + 1) * 2; } public static void main(String[] args) { System.out.println(getNum(10)); } }
【程序18】 Prog.java
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
java
![]()
【程序19】LingXing.java
题目:打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
java
![]()
【程序20】TestAdd2.java
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
java
![]()