2. 编写java程序,输出如下图形三角形
时间: 2024-03-23 13:36:02 浏览: 101
以下是Java程序实现:
```java
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
```
在这个程序中,我们使用一个变量`rows`来控制输出的行数。外层循环用于控制行数,内层循环用于输出星号。在每行输出结束后,我们使用`System.out.println`语句输出换行符,以便输出下一行。最后,我们使用`System.out.println`语句输出结果。
相关问题
1. 定义一个椎体类,具有属性:图形底、高,getVolume()计算体积方法。定义圆、三角形、四边形作为底的子类,覆盖getArea()方法。 2. 编写测试程序,创建三棱锥、四棱锥、圆锥对象,计算
首先,让我们定义一个基础的椎体类Vesica,它包含图形底和高的属性,以及计算体积的通用方法getVolume():
```java
public abstract class Vesica {
protected Shape base;
protected double height;
public Vesica(Shape base, double height) {
this.base = base;
this.height = height;
}
public abstract double getVolume();
// 公共方法,获取体积
public double calculateVolume() {
return getBase().getArea() * height / 3.0;
}
}
// 接着,我们定义几个形状类作为底的子类,这里只列出圆形、三角形和四边形的基本结构,实际会需要具体的实现
class Circle extends Shape {
private final double radius;
public Circle(double radius) {
super(); // 假设Shape有一个默认构造函数
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
interface Shape {
double getArea();
}
class Triangle extends Shape {
private double side1, side2, side3;
public Triangle(double side1, double side2, double side3) {
// 初始化三角形边长
}
@Override
public double getArea() {
// 计算三角形面积,这里省略实际公式
}
}
class Rectangle extends Shape {
private double width, height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
}
```
现在我们可以编写测试程序来创建并计算各个椎体的体积:
```java
public class TestVesica {
public static void main(String[] args) {
// 创建椎体实例
Vesica cone1 = new Cone(new Circle(5), 10);
Vesica cone2 = new Cone(new Triangle(3, 4, 5), 7); // 假设Triangle类提供了一个合适的getArea()
// 如果有Rectangle子类,可以这样做:
// Vesica cylinder = new Cylinder(new Rectangle(6, 8), 4);
// 计算并打印体积
System.out.println("Cone 1 Volume: " + cone1.calculateVolume());
System.out.println("Cone 2 Volume: " + cone2.calculateVolume());
// ... (对其他椎体对象同样操作)
}
}
```
用java2. 编写程序,创建一个描述图形的类Shape,其中包含面积、周长等属性,以及计算面积、计算周长、输出信息等方法,对1中创建的类进行修改,使三角形类和圆形类继承Shape类,在主类中测试这些类的使用,体现出多态性。
以下是 Java 代码实现:
```java
public class Shape {
protected double area;
protected double perimeter;
public void calculateArea() {}
public void calculatePerimeter() {}
public void displayInfo() {}
}
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public void calculateArea() {
area = Math.PI * radius * radius;
}
@Override
public void calculatePerimeter() {
perimeter = 2 * Math.PI * radius;
}
@Override
public void displayInfo() {
System.out.println("The circle has a radius of " + radius + ", an area of " + area + ", and a perimeter of " + perimeter + ".");
}
}
public class Triangle extends Shape {
private double side1, side2, side3;
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
@Override
public void calculateArea() {
double s = (side1 + side2 + side3) / 2;
area = Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
@Override
public void calculatePerimeter() {
perimeter = side1 + side2 + side3;
}
@Override
public void displayInfo() {
System.out.println("The triangle has sides of " + side1 + ", " + side2 + ", and " + side3 + ", an area of " + area + ", and a perimeter of " + perimeter + ".");
}
}
public class Main {
public static void main(String[] args) {
Shape s1 = new Circle(5.0);
Shape s2 = new Triangle(3.0, 4.0, 5.0);
s1.calculateArea();
s1.calculatePerimeter();
s1.displayInfo();
s2.calculateArea();
s2.calculatePerimeter();
s2.displayInfo();
}
}
```
在上述代码中,我们定义了一个 `Shape` 类,其中包含了面积、周长等属性,以及计算面积、计算周长、输出信息等方法。然后,我们创建了两个子类 `Circle` 和 `Triangle`,分别表示圆形和三角形,这两个子类都继承自 `Shape` 类,并重写了父类中的方法来计算自己的面积和周长,并输出自己的信息。在主方法中,我们分别创建了一个圆形对象和一个三角形对象,并调用它们的方法来计算面积、周长和输出信息,体现出了多态性的特点。
阅读全文