如何让用户自己输出几行的三角形
先看完整代码
import java.util.Scanner;
public class DengYaoSanJiao {
public static void main(String[] args) {
//扫描器
int num = new Scanner(System.in).nextInt();
//控制循环
for(int i = 0; i<num; i++){
//控制输出空格
for(int j = 0; j<num-i; j++){
System.out.print(" ");
}
//控制星星输出
for (int k = 0; k <2 * i + 1; k++) {
System.out.print("*");
}
//换行
System.out.println();
}
}
}
首先需要进行扫描器
导入java自己封装好的Scanner方法,可以扫描用户在键盘输入的值
import java.util.Scanner;
创建一个变量来接收用户所输出的值
int num = new Scanner(System.in).nextInt();
首先我们要确定一个逻辑,java在打印输出的时候是一行一行的
我们一共输出具体的东西有两个,分别是空格和星星(*)
所以看图我们可以得知,在第一次循环时,输出了3个空格,1个星星
在第二次循环时,输出了2个空格,3个星星
第三次循环时,没有输出空格,输出5个星星。
当for循环中的空格和星星输出完毕后,输出换行,再进行第二次循环
for(int i = 0; i<num; i++){ //控制循环次数
for(int j = 0; i<num-i; j++){ //控制空格输出次数
System.out.print(" "); //输出空格
}
for(int k = 0; k<2*i+1; k++){ //控制星星输出次数
System.out.print("*"); //输出星星
}
System.out.println(); //换行
}
最后我们来代一次数
//最后我们进行代数
//当用户输入3
num = 3
for(int i = 0; i < 3; i++){
//第一次循环i = 0; 从0到3一共要循环3次,所以输出三个空格
for(int j = 0; j < 3 - i; j++){
System.out.print(" ");
}
//用2*循环次数得到一个偶数,再+1得奇数,所以在第一次循环中,输出一个星星
for(int k = 0; k < 2 * i + 1; k++){
System.out.print("*");
}
System.out.println();
}