首先来看根据用户输入的底边的长度判断:
1 package cn.edu.nwpu.java; 2 3 import java.util.Scanner; 4 5 public class IsoscelesTriangle { 6 7 public static void main(String[] args) { 8 // 打印输出等腰三角形 9 System.out.println("请输入等腰三角形的底边长度:"); 10 while (true) { 11 Scanner input = new Scanner(System.in); 12 String result = input.next(); 13 int number = Integer.valueOf(result); 14 if (number >= 3) { 15 System.out.println("=======从这里开始测试======"); 16 for(int i = 1; i <= (number+1)/2; i++) { 17 for(int m = 1; m <= (number+1)/2-i; m++ ) { 18 System.out.print(" "); 19 } 20 for(int j = 1; j <= 2*i-1; j++) { 21 System.out.print("*"); 22 } 23 System.out.println(); 24 } 25 } else { 26 System.out.println("数字不能小于3,请重新输入:"); 27 } 28 } 29 } 30 }
再来看看第二种方法,输入行号,输出三角形(这个就简单一些了):
1 package cn.edu.nwpu.java; 2 3 import java.util.Scanner; 4 5 public class IsoscelesTriangle { 6 7 public static void main(String[] args) { 8 // 打印输出等腰三角形 9 System.out.println("请输入等腰三角形的行数:"); 10 while (true) { 11 Scanner input = new Scanner(System.in); 12 String result = input.next(); 13 int number = Integer.valueOf(result); 14 System.out.println("=======从这里开始测试======"); 15 for (int i = 1; i <= number; i++) { 16 for (int m = 1; m <= number - i; m++) { 17 System.out.print(" "); 18 } 19 for (int j = 1; j <= 2 * i - 1; j++) { 20 System.out.print("*"); 21 } 22 System.out.println(); 23 } 24 } 25 } 26 }
执行如下图,这个帖子的经典在第一个例子,里面的规律想起来比较头疼!