java经典50道_50道经典的JAVA编程题 (16-20)

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();

}

}

}

f9f0ef279e694505bbe2ae06f9acc9a7.png

【程序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));

}

}

50476e11c34a16cac8041f1790e5198c.png

【程序18】 Prog.java

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage test50;

/**

* @author VellBibi

* 【程序18】 Prog.java

* 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。

* 有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

*/

public class Prog {

public static void main(String[] args) {

String[] team1 = {"a","b","c"};

String[] team2 = {"x","y","z"};

for(int i=0; i<3; i++){

for(int j=0; j<3; j++){

if(i == 0 && j == 0)//a说他不和x比

continue;

else if(i == 2 && (j == 0 || j == 2))

continue;//c说他不和x,z比

else{

System.out.println(team1[i] + "" + team2[j]);

}

}

}

}

}c1291e75468cfd7d12c8ddd1699a4a31.png

【程序19】LingXing.java

题目:打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage test50;

/**

* @author VellBibi

*【程序19】LingXing.java

*题目:打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

*1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

*/

public class LingXing {

public static void print(int n){

int i = 0;

int j = 0;

for(i=0; i

for(j=0; j

if(j < n-i-1)

System.out.print("");

else

System.out.print("*");

}

System.out.println();

}

for(i=1; i

for(j=0; j

if(j < i)

System.out.print("");

else

System.out.print("*");

}

System.out.println();

}

}

public static void main(String[] args) {

print(4);

}

}3e1c5614f84c59bb27404deec0ae51e5.png

【程序20】TestAdd2.java

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage test50;

/**

* @author VellBibi

*【程序20】TestAdd2.java

*题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

*1.程序分析:请抓住分子与分母的变化规律。

*/

public class TestAdd2 {

public static double add(int n){

double ans = 0;

double a = 2;

double b = 1;

double cup = 0;

for(int i=0; i

ans = ans + a/b;

cup = a;

a = a + b;

b = cup;

}

return ans;

}

public static void main(String[] args) {

System.out.println(add(20));

}

}7ec1d871f7161074480245e366152b59.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.输出所有的“水仙花数”,水仙花数是指一个三位数,这个数的各位数字的立方和就是该数本身。 2.将一个正整数分解质因数,如:18=2*3*3; 3.输入两个正整数,求这两个数的最大公约数和最小公倍数; 4.输入一行字符,统计其中英文字母,空格,数字和其他字符的个数; 5.一个整数加上100后是个完全平方数,加上168后也是一个完全平方数,求这个数; 6.输出9*9口诀; 7.两个乒乓球队比赛,各出三人,甲队抽签派出a,b,c三人,乙队派出x,y,z三人,已知a不和x比,c不和x,z比,编程求出对战情况; 8.打印出如下图形: * *** ***** ******* ***** *** * 9.给一个不多于五位的正整数,求它是几位数,并逆序输出它的各位数字; 10.请输入星期几的第一个字母来判断是星期几,如果一样,则判断第二个字母; 11.求一个3*3矩阵对角线元素之和; 12.有一个已经排好序的数组,先输入一个数,按原先的顺序插入其中; 13.取一个整数a从右端开始的4~7位; 14.打印出杨辉三角形前十行,如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 ...................... 15.输入数组,最大的与第一个交换,最小的数与最后一个数交换,输出数组; 16.输入n个数,使其前m个数向后移动m个位置,最后面的m个数移到最前面; 17.有n个人围成一个圈子,从第一个人开始报数,报到3的退下,问最后留下的是编号为几的人; 18.字符串排序; 19.海滩上有一堆桃子,五只猴子来分,第一只猴子均分成5份,多出一个,扔进海里,自己拿走一份,第二三四五只猴子均这样做,问海滩上最初至少有多少个桃子; 20.求0~7所能组成的奇数的个数; 21.一个偶数总能表示成两个素数的和,输出所有可能的素数对; 22.两个字符串连接程序; 23.有5个同学,每个同学有三门课成绩,从键盘输入学号,姓名和三门课的成绩,取平均数,将数据存放在磁盘文件stud中; 24.如果一个数恰好等于它的因子之和,则叫“完数”求1000以内所有完数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值