java零基础学习:
import java.util.Scanner;
public class Rhombus{
public static void main(String[] args){
/*打印一个菱形
*
* *
* *
* *
* *
* *
* *
* *
*
//化繁为简:
1.打印9行每行5*的矩形
2.上下对称,打印一半
* 1个星
** 2个星
*** 3个星
**** 4个星
***** 5个星
**** 4个星
*** 3个星
** 2个星
* 1个星
分成前5行和后i-5行
3.打印实心的
* 1个星 4个空格
*** 3个星 3个空格
***** 5个星 2个空格
******* 7个星 1个空格
********* 9个星 0个空格
******* 7个星 1个空格
***** 5个星 2个空格
*** 3个星 3个空格
* 1个星 4个空格
4.打印空心的
* 首尾有星
* * 首尾有星
* * 首尾有星
* * 首尾有星
* * 首尾有星
* * 首尾有星
* * 首尾有星
* * 首尾有星
* 首尾有星
先死后活:
9行可以变成任意奇数,创建一个Scanner存储 int rows = myScanner.Int()
*/
Scanner myScanner = new Scanner(System.in);
System.out.print("输入一个奇数");
int rows = myScanner.nextInt();
int halfRows = (rows + 1) / 2;
for(int i = 1;i <= rows;i++){
if(i <= halfRows){//前5行
for(int m = 1;m <= halfRows-i;m++){
System.out.print(" ");
}//打印空格
for(int j = 1;j <= 2*i-1;j++){
if(j == 1 || j == 2*i-1){
System.out.print("*");
}else{
System.out.print(" ");
}//只打印首尾星,其余打空格
}//打印星
}else{//后5行
for(int n = 1;n <= i-halfRows;n++){
System.out.print(" ");
}//打印空格
for(int k = 1;k <= 2 * (halfRows - (i - halfRows)) - 1 ;k++){
if(k == 1 || k == 2 * (halfRows - (i - halfRows)) - 1){
System.out.print("*");
}else{
System.out.print(" ");
}//只打印首尾星,其余打空格
}//打印星
}
System.out.println("");//打印换行
}
}
}