实验二 Java类编程实验

该文主要展示了使用Java编程语言创建三个类:三角形类,圆环类和学生类。三角形类包含计算面积和周长的方法,圆环类包括计算面积、内外圆周长以及设置属性的方法。学生类则涉及学号、姓名和年龄属性,以及对数组中学生信息的操作,如显示所有信息、增加年龄和筛选年龄大于20岁的学生。
摘要由CSDN通过智能技术生成

第1关:编写一个代表三角形的类

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

编写一个学生类(Student.java),包含的属性有学号、姓名、年龄。将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赋值,并实现如下操作: ① 按数组中顺序显示所有学生信息。 ② 将所有学生年龄增加1岁。 ③ 显示所有年龄大于20岁的学生信息。

import java.util.Scanner;

public class Triangle {
	// 自行设计类的实现
	/********** Begin **********/
private double a;
private double b;
private double c;
private double area;
private double longer;
public Triangle(double a,double b,double c){
    this.a=a;
    this.b=b;
    this.c=c;
}
public double getA(){
    return this.a;
}
public void setA(double a){
     this.a=a;
}
public double getB(){
    return this.b;
}
public void setB(double b){
     this.b=b;
}
public double getC(){
    return this.c;
}
public void setC(double c){
     this.c=c;
}

public String getArea(){
    double s=0;
    String areas;
    s=(a+b+c)/2;
    area=Math.sqrt(s*(s-a)*(s-b)*(s-c));
    areas=String.format("%.2f",area);
    return  areas;
}
public String getLonger(){

    String longers;
    longer=a+b+c;
    longers=String.format("%.2f",longer);
    return  longers;
}
	/********** End **********/

	public static void main(String[] args) {
		/********** Begin **********/
		Scanner sc = new Scanner(System.in);
		double a,b,c; //定义三条边
		a = sc.nextDouble();
		b = sc.nextDouble();
		c = sc.nextDouble();
		Triangle t1 = new Triangle(a, b, c);
		//输出面积
		System.out.println("三角形("+t1.getA()+","+t1.getB()+","+t1.getC()+")"+"的面积为:" +   t1.getArea()                              );
		//输出周长
		System.out.println("三角形("+t1.getA()+","+t1.getB()+","+t1.getC()+")"+"的周长为:" +    t1.getLonger()                             );	
		/********** End **********/
	}
}

第2关:编写一个圆环类

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

编写一个圆环类(Ring.java)。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过getset方法进行封装,该类封装有求圆环面积、外圆周长和内圆周长的方法。

① 通过构造方法传递内半径5,外半径8,颜色为red,输出测试结果; ② 将内半径改为4,外半径改为6,颜色改为blue后,再次输出测试结果。 ③ 所有输出结果要求保留2位小数。

public class Ring {
	private double InnerRadius;//innerRadius
	private  double OuterRadius;//outerRadius
	private String color ;//color
	private double pi=3.14157;
	private  double area;
	private  double perimeter;
	public Ring(double	 i, double i1, String red) {
this.InnerRadius=i;
this.OuterRadius=i1;
this.color=red;
	}
	public String format(double s){
	String areas=String.format("%.2f",s);
	return areas;
	}
public String Getarea(){

		area=OuterRadius*OuterRadius*pi-InnerRadius*InnerRadius*pi;
	String	areas=format(area);

		return areas;
}
public  String GetInnerRadiusPerimeter(){
		perimeter=pi*2*InnerRadius;

String areas=format(perimeter);
		return areas;
}
public String GetOuterRadiusPerimeter(){
		perimeter=pi*2*OuterRadius;
		String areas=format(perimeter);
		return areas;
}

	public double getInnerRadius() {
		return InnerRadius;
	}

	public void setInnerRadius(double innerRadius) {
		InnerRadius = innerRadius;
	}

	public double getOuterRadius() {
		return OuterRadius;
	}

	public void setOuterRadius(double outerRadius) {
		OuterRadius = outerRadius;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}
	public static void main(String[] args) {
		Ring ring = new Ring(5, 8, "red");
		System.out.println("圆环的内半径: " +    ring.getInnerRadius()                                    );
		System.out.println("圆环的外半径: " +    ring.getOuterRadius()                         );
		System.out.println("圆环的颜色: " +                            ring.getColor()              );
		System.out.println("圆环的面积: " +            ring.Getarea()                            );
		System.out.println("圆环的外圆周长: " +                  ring.GetOuterRadiusPerimeter()                    );
		System.out.println("圆环的内圆周长: " + ring.GetInnerRadiusPerimeter()            );

		ring.setInnerRadius(4);
		ring.setOuterRadius(6);
		ring.setColor("blue");
		System.out.println();
		System.out.println("圆环的内半径: " +           ring.getInnerRadius()                                 );
		System.out.println("圆环的外半径: " + ring.getOuterRadius()                      );
		System.out.println("圆环的颜色: " +                                    ring.getColor()      );
		System.out.println("圆环的面积: " +                                        ring.Getarea()  );
		System.out.println("圆环的外圆周长: " +                                     ring.GetOuterRadiusPerimeter( ) );
		System.out.println("圆环的内圆周长: " +                                      ring.GetInnerRadiusPerimeter());
	}
}

第3关:编写一个学生类

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

编写一个学生类(Student.java),包含的属性有学号、姓名、年龄。将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赋值,并实现如下操作: ① 按数组中顺序显示所有学生信息。 ② 将所有学生年龄增加1岁。 ③ 显示所有年龄大于20岁的学生信息。


public class Student {
	/********** Begin **********/
	// 自行设计类的实现

 @Override
     public String toString() {
        return "学号:" +
              id +
                ",姓名:" + name  +
                ",年龄:" + age;
    }

    public Student(int id, int age, String name) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    private int id;
    private String name;
    private  int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
	/********** End **********/
                                                     
	public static void main(String args[]) {
	  Student s1 = new Student(1, 18, "小明");
        Student s2 = new Student(2, 20, "小张");
        Student s3 = new Student(3, 19, "小李");
        Student s4 = new Student(4, 18, "小王");
        Student s5 = new Student(5, 20, "小赵");

        Student s[] = { s1, s2, s3, s4, s5 }; // 给对象数组赋值
        System.out.println("班级学生名单如下:");
        output(s); // 第1次调用output方法输出数组
// 将所有学生年龄加 1
        for (Student item: s){
            item.setAge(item.getAge()+1);
        }
        System.out.println("所有学生年龄加 1 后...");
        output(s); /// 第2次调用output方法输出数组
        /* 以下程序统计大于20岁的学生个数 */
        int count = 0;
        for (Student item:s
             ) {
            if (item.getAge()>20){
                 count++;
            }
        }
        System.out.println("大于 20 岁人数是:" + count);
    }

    /* 以下方法输岀学生数组的所有元素 */
    private static void output(Student s[]) {
        for (int i = 0; i < s.length; i++){
            System.out.println(s[i].toString());}
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TECreate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值