关键词:
题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案
*
***
*****
*******
*****
***
*
分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
1 import java.util.Scanner; 2 public class Prog19 3 public static void main(String[] args) 4 Scanner input=new Scanner(System.in); 5 System.out.println("请输入要打印的菱形图案的行数(输入的行数必须大于等于3):"); 6 int rows=input.nextInt(); 7 while(rows%2==0) 8 System.out.println("请输入奇数:"); 9 rows=input.nextInt(); 10 11 input.close(); 12 int n=(rows+1)/2;//上半部分等于行数的一半 13 //打印菱形的上半部分 14 for(int i=1;i<=n;i++) 15 for(int j=1;j<=n-i;j++) //打印空格 16 System.out.print(" "); 17 18 for(int k=1;k<=(2*i-1);k++) //打印*号 19 System.out.print("*"); 20 21 System.out.println();//换行 22 23 //打印菱形的下半部分 24 for(int i=n-1;i>=1;i--) //这里使用n-1是因为下半部分比上半部分少1行 25 for(int j=1;j<=n-i;j++) //打印空格 26 System.out.print(" "); 27 28 for(int k=1;k<=2*i-1;k++) //打印*号 29 System.out.print("*"); 30 31 System.out.println();//换行 32 33 34 35 /*运行结果 36 请输入要打印的菱形图案的行数(输入的行数必须大于等于3): 37 7 38 * 39 *** 40 ***** 41 ******* 42 ***** 43 *** 44 * 45 */
java基础50道经典练习题(19)——打印菱形
【程序19打印菱形图案】题目:打印出如下图案(菱形)************************* 源码:packagecom.homework.test;/*【程序19打印菱形图案】题目:打印出如下图案(菱形)**************************/publicclassTest19{publicstaticvoidmain(String[]args){intn=... 查看详情
java50道经典习题-程序8输入数字求和(代码片段)
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 分析:关键是计算出每一项的值。1importjava.util.Scanner;2publicclassProg83publicstaticvoidmain(String[]args)4System.out.prin... 查看详情
java50道经典习题-程序16在控制台上打印九九乘法表(代码片段)
题目:输出9*9口诀。分析:利用双重for循环进行输出,分行与列考虑,共9行9列,i控制行,j控制列。1publicclassProg162publicstaticvoidmain(String[]args)3for(inti=1;i<10;i++)4for(intj=1;j<i+1;j++)5System.out.print(j+"*"+i+"="+(j*i)+"\t");/ 查看详情
java基础50道经典练习题(26)——求星期
【程序26求星期】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 ... 查看详情
java基础50道经典练习题(26)——求星期
【程序26求星期】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 ... 查看详情
java基础50道经典练习题——水仙花数
【程序3水仙花数】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个... 查看详情
java基础50道经典练习题——水仙花数
【程序3水仙花数】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个... 查看详情
java50道经典习题-程序10自由落体(代码片段)
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?1importjava.util.Scanner;2publicclassProg103publicstaticvoidmain(String[]args)4System.out.println("请输入小球落地时... 查看详情
java基础50道经典练习题(15)——排序
【程序15排序】题目:输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交... 查看详情
java基础50道经典练习题(15)——排序
【程序15排序】题目:输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交... 查看详情
java基础50道经典练习题(21)——求阶乘
【程序21求阶乘】题目:求1+2!+3!+...+20!的和 程序分析:此程序只是把累加变成了累乘。 源码:packagecom.homework.test;/*【程序21求阶乘】题目:求1+2!+3!+...+20!的和程序分析:此程序只是把累加变成了累乘。*/publicclassTest21{public... 查看详情
java基础50道经典练习题(21)——求阶乘
【程序21求阶乘】题目:求1+2!+3!+...+20!的和 程序分析:此程序只是把累加变成了累乘。 源码:packagecom.homework.test;/*【程序21求阶乘】题目:求1+2!+3!+...+20!的和程序分析:此程序只是把累加变成了累乘。*/publicclassTest21{public... 查看详情
java50道经典习题-程序21求阶乘(代码片段)
题目:求1+2!+3!+...+20!的和分析:使用递归求解0的阶乘和1的阶乘都为1publicclassProg21publicstaticvoidmain(String[]args)longsum=0L;for(inti=1;i<=20;i++)sum+=factorial(i);System.out.println(sum);//递归求阶乘publicstaticlongfa 查看详情
java50道经典习题-程序9求完数(代码片段)
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。1publicclassProg92publicstaticvoidmain(String[]args)3intn=1000;4compNumber(n);56//求完数7privatestaticvoidcompNumber(intn)8System.out.println(n 查看详情
java50道经典习题-程序22递归求阶乘(代码片段)
题目:利用递归方法求5!。分析:递归公式:n*factorial(n-1);1publicclassProg222publicstaticvoidmain(String[]args)3System.out.println(factorial(5));45//递归求阶乘6publicstaticlongfactorial(intn)7if(n==0||n==1)8return1L;910 查看详情
java基础50道经典练习题(22)——递归求阶乘
【程序22递归求阶乘】题目:利用递归方法求5!。 程序分析:递归公式:fn=fn_1*4! 源码:packagecom.homework.test;/*【程序22递归求阶乘】题目:利用递归方法求5!。程序分析:递归公式:fn=fn_1*4!*/publicclassTest22{publicstaticvoidmain(Str... 查看详情
java基础50道经典练习题(22)——递归求阶乘
【程序22递归求阶乘】题目:利用递归方法求5!。 程序分析:递归公式:fn=fn_1*4! 源码:packagecom.homework.test;/*【程序22递归求阶乘】题目:利用递归方法求5!。程序分析:递归公式:fn=fn_1*4!*/publicclassTest22{publicstaticvoidmain(Str... 查看详情
java基础50道经典练习题(27)——求素数
【程序27求素数】题目:求100之内的素数 源码:packagecom.homework.test;/*【程序27求素数】题目:求100之内的素数*/publicclassTest27{publicstaticvoidmain(String[]args){intcount=0;for(inti=2;i<100;i++){if(IsPrime(i)){System.out.print 查看详情