用java程序实现三角形的输出,要求如下

2025-01-05 07:01:45
推荐回答(4个)
回答1:


class NoParamException extends Exception{

public NoParamException(String message)

{super(message);}

}

class InputDecimalException extends Exception{}

public class HOMEWORK

{

public static float getHeight(String args[])throws NoParamException,InputDecimalException

{

float m;

if(args.length==0)

throw new NoParamException("NoParamException occures!");

m=Float.parseFloat(args[0]);

if((int)m!=m)throw new InputDecimalException();

return m;

}



public static void main(String args[])

{

float H=0;

try{

H=getHeight(args);

}

catch(NoParamException e){

System.out.println("NoParamException occures,please input again!");

}

catch(InputDecimalException e){

System.out.println("InputDecimalException occures,please input again!");

}

catch(Exception e){

System.out.println("NoParamException occures,please input again!");

}

for(int i=1;i<=H;i++)

    {

        for(int j=0;j

        System.out.print(" ");

            for(int k=0;k<2*i-1;k++)

                System.out.print("*");

            System.out.print("\n");

    }

}

}

可以进行两种异常控制,一种是无参数异常,一种是输入小数的异常


这是运行过程,记得程序中的publi class名字改过来,与文件名一样

回答2:

int i,j,layer;
System.out.println("请输入层数:");
Scanner input = new Scanner(System.in);
layer = input.nextInt();
for(i=0;i for(j=0;j System.out.print(" ");//输出前面的空格
for(j=0;j System.out.print(i+1+" ");//输出数字和空格
System.out.println();
}

三角形代码

回答3:

1 static 静态的 类,方法,变量 声明static 就能项目里面都能调用,如:class static void a
b.id=a.id;

protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。

abstract:
1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。

2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。

注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。

abstract修饰符在修饰类时必须放在类名前。

transient Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的

class A implements Serializable {
private String name;
transient private String address;
}

那么你在串行化(IO流等)A类时 给它的name和address属性赋值,那么你在提取A时,拿到了name属性,但是却拿不到address属性。

final 修饰类 :表示该类不能被继承,是顶级类。
修饰方法:表示不能重写。
修饰变量:表示不能修改,可在构造方法中赋值。

2 n1.equals(n2) quals比较的是2个对象的内容,虽然是相同的数据类型,但是它们是两个对象
可以通过继承父类方法,在子类里面把 i 强转 成String型,这样就能为true;

至于你那个三角形,给你个思路吧,我以前也是你这样过来的!
这个要用到双重循环,外循环控制行数,内循环控制*;
通过你的行数来循环,如图:有5行,每一行从上到下,依次减少一个键位 也就是 空格 一样
* 的话 是*+2的,主要是找好规律。

北大青鸟的吗?

回答4:

public class test {
public static void main(String[] args) {
for(int i=0;i<5;i++) {
for(int j=0;j<5-i;j++)
System.out.print(" ");
for(int j=0;jif(j==i){
System.out.print("#");
}
else{
System.out.print("#"+"#");
}
}

System.out.println();
}
}
}