标题
印菱形
问题描述
根据键盘输入行数,打印相应行数的菱形
题目要求
要在输出格式中包含结果,必须输入正整数
输入格式
请输入行数: 9
输出格式
输出: ******3358www.Sina.com/*
调用java.util.Scanner
循环语句
考察内容*
1 .判断输入的行数是否正确,形成菱形必须行数为单数
2 .设置n行,菱形分为两部分。 上部的row=(n 1)/2行,下部的row-1行
解题思路*
包测试_ 1; import java.util.Scanner; publicclassrighttriangle { publicstaticvoidmain (string [ ] args ) scannersc=newscanner ) system.in ); int n; //确定行数是否为菱形do { System.out.println () ) (请输入行数) (单数) ) ) ); n=sc.nextInt (; if(n%2==0||n=0) ({ System.out.println )由于输入错误而无法配置为菱形); }else{ break; } while (真); int row=(n 1)/2; //上半部分的for(intI=1; i=row; I ) (/行数for ) intj=1; j=row-i; j ) ({//row-i每行的输出空间数System.out.print (' ); }for(intj=1; j=i*2-1; j ) ) {//i*2-1每行输出*个数system.out.print('* ); } System.out.println (; //下半部for(intI=1; i row; I ) for(intj=1; j=i; j({system.out.print (' ) ); }for(intj=1; j=(row-1 )2- (I *2-1); j () system.out.print('* '; } System.out.println (; }}第二种写法:
包测试_ 1; import java.util.Scanner; import Java.util.jar.jar output stream; publicclassrighttriangle { publicstaticvoidmain (string [ ] args ) scannersc=newscanner ) system.in ); int n; //确定行数是否为菱形do { System.out.println () ) (请输入行数) (单数) ) ) ); n=sc.nextInt (; if(n%2==0||n=0) ({ System.out.println )由于输入错误而无法配置为菱形); }else{ break; } while (真); int row=(n 1)/2; //上半部分的for(intI=1; i=row; I ) (/行数for ) intj=1; j=row-i; j ) ({//row-i每行的输出空间数System.out.print (' ); }for(intj=1; j=i*2-1; j ) ) {//i*2-1每行输出*个数system.out.print('* ); } System.out.println (; //下半部for(intI=row-1; i=1; I--}{for(intj=1; j=row-i; j({system.out.print (' ) ); }for(intj=I*2-1; j=1; j--}{system.out.print('* '; } System.out.println (; } }