今天想要和大家分享一道我最近遇到的题,里面既包括了嵌套循环的运用,还有函数的定义与调用,我个人觉得挺有价值的。
打印一个由*号构成的等腰三角形:
具体的解题方法如下:
public class getdelta { public static void main(String[] args) {
/*定义三角形的行数
定义三角形的列数*/
1 for(int i=1;i<5;i++)
{
for(int z=1;z<5-i;z++)
{
System.out.print(" ");//先打印一个由空格符组成的直角三角形
}
for(int j=1;j<2*i;j++)
{
System.out.print("*");//再打印一个由*号组成的等腰三角形
}
System.out.println();
}
} }
*
***
*****
*******
类似的,我们也能够通过利用函数的定义与调用来得到一个我们想要的菱形,打印方法如下:
import java.util.Scanner; public class demo { public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入想得到的菱形行数(行数只能为奇数):");
int n = input.nextInt();//输入想要得到的菱形行数
if(n%2==0)
System.out.println("输入错误,行数只能为奇数");//判断行数是否为奇数
else
getdelta((n+1)/2);//调用函数得到菱形 }
public static void getdelta(int n)
{
for(int i=1;i<n+1;i++)//先打印一个等腰三角形
{
for(int z=1;z<(n+1)-i;z++)
{
System.out.print(" ");//线打印空格符
}
for(int j=1;j<2*i;j++)
{
System.out.print("*");//再打印*号
}
System.out.println();
}
for(int a=n;a>1;a--)//再打印一个倒等腰三角形
{
for(int b=1;b<=n-a+1;b++)
{
System.out.print(" ");//先打印空格符
}
for(int c=1;c<2*(a-1);c++)
{
System.out.print("*");//再打印*号
}
System.out.println();
}
} }
例如我们输入9,则程序运行得到:
请输入想得到的菱形行数(行数只能为奇数):
9
*
***
*****
*******
*********
*******
*****
***
*
两个编程都运用了嵌套循环,后者增加了输入语句和函数的定义与调用,更加的完整!