搞了好久,楼主看这样行不?- import java.util.Scanner;
- class Sanjiaoxing{
- public static void main(String[] args){
- System.out.println("请输入要输出的是边长是多少个*的等边三角形");
- Scanner sc=new Scanner(System.in);
- int m=sc.nextInt();
- while(m<2){
- System.out.println("你输入的数有毒,不能组成等边三角形,请重新输入:");
- m=sc.nextInt();
- }
-
- //设置参数 w ,并且使其等等于 m,用于控制光标从左边开始斜边输出的空格数
- int w=m;
-
- //控制输出的三角形为m行(m为三角形的边长,规律图看出)
- for(int i=1;i<=m;i++){
-
- //光标从左边开始斜边输出的空格数
- for(int j=1;j<w;j++){
- System.out.print(" ");
- }
- //输完空格后,w自减1,等待下一行的输出
- w--;
-
- //输出第一、第二行
- if(i<3){
- if(i==1){
- System.out.println("* ");
- }else if(i==2){
- System.out.print("* ");
- System.out.println("* ");
- }
-
- //输出第二道倒数第二行
- }else if(i>=3&&i<=(m-1)){
- System.out.print("* ");
- //中间的空格数
- for(int f=1;f<=2*(i-2);f++){
- System.out.print(" ");
- }
- System.out.println("* ");
-
- //输出最后一行
- }else{
- for(int n=1;n<=i;n++){
- System.out.print("* ");
- }
- }
- }
- }
- }
复制代码
|
|