正三角:

	Scanner s1=new java.util.Scanner(System.in);
		System.out.println("请输入你要打印的三角形行数:");
		int num=s1.nextInt();
		int i=0;
		for( i=0;i<num;i++)
		{
			int j;
			//打印空格
			for(j=0;j<num-1-i;j++)//第一行的空格为行数减一,因为第一行只有一个字符,后面依次往下增加
			{
				System.out.print(" ");
			}
			//打印字符
			for(j=1;j<i*2;j++)//从上往下每行都比上一行多两个字符
			{
				System.out.print("*");
			}
			System.out.println();//换行
		}

倒三角:

	Scanner s1=new java.util.Scanner(System.in);
		System.out.println("请输入你要打印的三角形行数:");
		int num=s1.nextInt();
		int i=0;
		for(i=0;i<num-1;i++)
		{
			int j;
		
			for(j=0;j<=i;j++)//空格从上往下每行左边只多增加一个
			{
				System.out.print(" ");
			}
			
			for(j=1;j<2*(num-i-1);j++)//因为最后一行会有一个单独的一个,往下乘以2,一开始要算上那一个,加一
			{	
				System.out.print("*");
			}
			
			System.out.println();
		}

结果: