String n = JOptionPane.showInputDialog("请输入一个数字:")// 直接输入行号
int l = Integer.parseInt(n)
int k = l
for (int i = 1i <= ki++) {
for (int j = 1j <= lj++)
System.out.print(" ")
l--
for (int j = 1j <= i*2-1j++) {
System.out.print("*")// 显示星星
}
System.out.println()
}
}
这是我刚才编写的用于输出金字塔的一个类。完整的代码。
//输出金字塔
import java.util.Scanner
public class a1 {
public static void main(String[] args) {
Scanner a=new Scanner(System.in)
int N=5//定义行数的变量
boolean b=true
do
{
try
{
System.out.println("请输入整数类型的数字:")
N=a.nextInt()//获取输入行数
b=false
}
catch(Exception ea)
{
a=new Scanner(System.in)
// N=a.nextInt()//获取输入行数
}
}while(b)
int i,j,m
for(i=0i<Ni++)//输出金字塔
{
for(m=0m<N-1-im++)
{
System.out.printf(" ")
}
for(j=0j<2*i+1j++)
{
System.out.printf("*")
}
System.out.printf("\n")
}
}
}
// 打印正三角形class Star{
// maxRow 最大行数
public void print(int maxRow){
// 行号,如果从0开始,第一行就是一个"*"
int row=1
// 外层循环控制行数
for( row<=maxRow row++){
// 内层循环控制空格打印个数, 就是打印倒三角
// 假设 maxRow = 3 row = 1
// 那么 space 的最大取值就是2, 第一行打印2个空格
for(int space=1 space<=maxRow-row space++)
System.out.print(" ")
// 内存循环控制个数
// 假设 maxRow = 3 row = 1
// 那么 starNum 的最大取值就是3, 第一行打印3个"*"
for(int starNum=1 starNum<=row*2+1 starNum)
System.out.print("*")
// 一行打印完成换行
System.out.println()
}
}
}
希望可以帮助你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)