实验二 Java类编程实验

打印 上一主题 下一主题

主题 870|帖子 870|积分 2610

第1关 编写一个代表三角形的类
  1. package step1;
  2. import java.util.Scanner;
  3. public class Triangle {
  4.         // 自行设计类的实现
  5.         /********** Begin **********/
  6.     private double a;
  7.     private double b;
  8.     private double c;
  9.     public Triangle(double a, double b, double c) {
  10.         this.a = a;
  11.         this.b = b;
  12.         this.c = c;
  13.     }
  14.     public double getArea() {
  15.         double p = (a + b + c) / 2;
  16.         return Math.sqrt(p * (p - a) * (p - b) * (p - c));
  17.     }
  18.     public double getPerimeter() {
  19.         return a + b + c;
  20.     }
  21.     //@Override
  22.     public String toString() {
  23.         return String.format("三角形(%.1f,%.1f,%.1f)", a, b, c);
  24.     }
  25.         /********** End **********/
  26.         public static void main(String[] args) {
  27.                 /********** Begin **********/
  28.                 Scanner sc = new Scanner(System.in);
  29.                 double a,b,c; //定义三条边
  30.                 a = sc.nextDouble();
  31.                 b = sc.nextDouble();
  32.                 c = sc.nextDouble();
  33.                 Triangle t1 = new Triangle(a, b, c);
  34.                 //输出面积
  35.                 System.out.println(t1 + "的面积为:" + String.format("%.2f", t1.getArea()));
  36.                 //输出周长
  37.                 System.out.println(t1 + "的周长为:" +  String.format("%.2f", t1.getPerimeter()));       
  38.                 /********** End **********/
  39.         }
  40. }
复制代码
第2关 编写一个圆环类
  1. package step2;
  2. public class Ring {
  3.         /********** Begin **********/
  4.         //自行设计类的实现  
  5.           private double innerRadius; //内半径
  6.     private double outerRadius; //外半径
  7.     private String color; //颜色
  8.     //构造方法
  9.     public Ring(double innerRadius, double outerRadius, String color){
  10.         this.innerRadius = innerRadius;
  11.         this.outerRadius = outerRadius;
  12.         this.color = color;
  13.     }
  14.     //计算圆环面积
  15.     public double area() {
  16.         return Math.PI * (outerRadius * outerRadius - innerRadius * innerRadius);
  17.     }
  18.     //计算圆环外圆周长
  19.     public double perimeter() {
  20.         return 2 * Math.PI * outerRadius;
  21.     }
  22.     //计算圆环内圆周长
  23.     public double innerPerimeter() {
  24.         return 2 * Math.PI * innerRadius;
  25.     }
  26.     //getter和setter方法
  27.     public double getInnerRadius() {
  28.         return innerRadius;
  29.     }
  30.     public void setInnerRadius(double innerRadius) {
  31.         this.innerRadius = innerRadius;
  32.     }
  33.     public double getOuterRadius() {
  34.         return outerRadius;
  35.     }
  36.     public void setOuterRadius(double outerRadius) {
  37.         this.outerRadius = outerRadius;
  38.     }
  39.     public String getColor() {
  40.         return color;
  41.     }
  42.     public void setColor(String color) {
  43.         this.color = color;
  44.     }
  45.         /********** End **********/
  46.                                                      
  47.         public static void main(String[] args) {
  48.                 Ring ring = new Ring(5, 8, "red");
  49.                 System.out.printf("圆环的内半径: %.1f\n", ring.getInnerRadius());
  50.                 System.out.printf("圆环的外半径: %.1f\n", ring.getOuterRadius());
  51.                 System.out.println("圆环的颜色: " + ring.getColor());
  52.                 System.out.printf("圆环的面积: %.2f\n", ring.area());
  53.                 System.out.printf("圆环的外圆周长: %.2f\n", ring.perimeter());
  54.                 System.out.printf("圆环的内圆周长: %.2f\n", ring.innerPerimeter());
  55.                 System.out.println();
  56.                 ring.setInnerRadius(4);
  57.                 ring.setOuterRadius(6);
  58.                 ring.setColor("blue");
  59.                 System.out.printf("圆环的内半径: %.1f\n", ring.getInnerRadius());
  60.                 System.out.printf("圆环的外半径: %.1f\n", ring.getOuterRadius());
  61.                 System.out.println("圆环的颜色: " + ring.getColor());
  62.                 System.out.printf("圆环的面积: %.2f\n", ring.area());
  63.                 System.out.printf("圆环的外圆周长: %.2f\n", ring.perimeter());
  64.                 System.out.printf("圆环的内圆周长: %.2f\n", ring.innerPerimeter());
  65.         }
  66. }
复制代码
第3关 编写一个学生类
  1. package step3;
  2. public class Student {
  3.         /********** Begin **********/
  4.         // 自行设计类的实现
  5.     // 成员变量
  6.     private int id;     // 学号
  7.     private int age;    // 年龄
  8.     private String name;    // 姓名
  9.     // 构造方法
  10.     public Student(int id, int age, String name) {
  11.         this.id = id;
  12.         this.age = age;
  13.         this.name = name;
  14.     }
  15.     // getter方法
  16.     public int getId() {
  17.         return id;
  18.     }
  19.     public int getAge() {
  20.         return age;
  21.     }
  22.     public String getName() {
  23.         return name;
  24.     }
  25.     // toString方法,返回学生的字符串表示
  26.     public String toString() {
  27.         return "学号:" + id + ",姓名:" + name + ",年龄:" + age;
  28.     }
  29.         /********** End **********/
  30.                                                      
  31.         public static void main(String args[]) {
  32.                 Student s1 = new Student(1, 18, "小明");
  33.                 Student s2 = new Student(2, 20, "小张");
  34.                 Student s3 = new Student(3, 19, "小李");
  35.                 Student s4 = new Student(4, 18, "小王");
  36.                 Student s5 = new Student(5, 20, "小赵");
  37.                 Student s[] = { s1, s2, s3, s4, s5 }; // 给对象数组赋值
  38.                 System.out.println("班级学生名单如下:");
  39.                 output(s); // 第1次调用output方法输出数组
  40.                 /********** Begin **********/
  41.                 // 将所有学生年龄加 1
  42.         for (int i = 0; i < s.length; i++) {
  43.             s[i].age++;
  44.         }
  45.                 /********** End **********/                             
  46.                 System.out.println("所有学生年龄加 1 后...");
  47.                 output(s); /// 第2次调用output方法输出数组
  48.                 int count = 0;
  49.                 /********** Begin **********/
  50.                 //统计大于20岁的学生个数
  51.         for (int i = 0; i < s.length; i++) {
  52.             if (s[i].age > 20) {
  53.                 count++;
  54.             }
  55.         }
  56.                 /********** End **********/                    
  57.                 System.out.println("大于 20 岁人数是:" + count);
  58.         }
  59.         /* 以下方法输岀学生数组的所有元素 */
  60.         private static void output(Student s[]) {
  61.                 for (int i = 0; i < s.length; i++)
  62.                         System.out.println(s[i]);
  63.         }
  64. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

徐锦洪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表