java打印等腰三角形星星
一、题目描述
输入n,打印n行 ‘*’,规律如下
*
***
*****
*******
*********
二、解法
利用for循环打印,外层打印行数,内层打印列数,然后逻辑判断。
例如输入的n=3,则外层需要打印三行,所以第一个for循环判断条件为i<n。
当外层的i=1时,内层可以看成打印了三列。
当i=4时,内层打印了四行,所以内层判断条件为j<n+i。
然后打印的内容可以分为两部分,一部分时空格,另一部风是星星,所以先判断打印空格的逻辑,可以看出当j=0时打印了两个空格,当j=1时打印一个空格,当j=2时不打印空格,规律是每次减少1,所以判断谈条件为当就j<n-i-1时打印空格,其他时候打印星星。
import java.util.Scanner;
class Demo {
public static void main (String[] args) {
System.out.println("请输入要打印的行数");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = 0; i < n ; i++){ // 外层打印行数
for(int j = 0; j < n+i; j++){ // 内层打印列
if(j<n-i-1){ //
System.out.print(" ");
}else{
System.out.print("*");
}
}
System.out.println();
}
}
}