java程序设计与j2ee中间件技术/软件开发技术(I)-实验二-类与对象

简介: java程序设计与j2ee中间件技术/软件开发技术(I)-实验二-类与对象

题目1

1 题目说明

1、按要求编写Java应用程序。

(1)建立一个名叫Cat的类:

属性:姓名、毛色、年龄

行为:显示姓名、喊叫

(2)编写主类:

创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

2 实验设计

2.1 工程结构

题目1工程结构:Cat类中有私有属性属性年龄、名字、毛色,有公有函数函数显示姓名和喊叫,有构造函数和getter/setter。Main类存放主程序,主程序输出毛色、年龄,并调用Cat类中的函数。

3 运行界面截图与说明

4 代码

Cat.java

public class Cat {
  private String name;
  private String color;
  private int age;
  public void showName() {
    System.out.println(name);
  }
  public void bark() {
    System.out.println("喵");
  }
  public Cat(String _name,String _color,int _age){
    name=_name;
    color=_color;
    age=_age;
  }
  public void setName(String _name) {
    name=_name;
  }
  public void setColor(String _color) {
    color=_color;
  }
  public void setAge(int _age) {
    age=_age;
  }
  public String getName() {
    return name;
  }
  public String getColor() {
    return color;
  }
  public int getAge() {
    return age;
  }
}

Main.java

public class Main {
  public static void main(String args[]) {
    Cat cat=new Cat("妮妮","灰色",2);
    System.out.println("毛色:"+cat.getColor());
    System.out.println("年龄:"+cat.getAge());
    cat.showName();
    cat.bark();
  }
}

题目2

1 题目说明

定义一个表示学生信息的类Student,要求如下:

(1)类Student的成员变量:

sName表示姓名;sJava:表示Java课程成绩。

(2)为类Student创建不带参数的构造函数

(3) 为类Student创建带参数的构造函数,在构造方法中通过形参完成对成员变量的赋值操作。

(4)为类Student的方法成员建立set和get方法。

在主类mainClass中,从键盘接收输入,创建含有五个学生对象的数组,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

2 实验设计

3 运行界面截图与说明

涉及个人隐私信息,截图不予放出。

题目2运行结果:正确地创建了含有5个学生对象的数组,并正确地能根据提示信息输入了5个人的姓名和java成绩。之后,可以正确的计算并输出这5个学生的java语言成绩的平均值、最大值和最小值。

4 代码

Student.java

public class Student {
  private String sName;
  private int sJava;
  public Student() {
    sName="";
    sJava=0;
  }
  public Student(String _sName,int _sJava) {
    sName=_sName;
    sJava=_sJava;
  }
  public void setName(String _sName) {
    sName=_sName;
  }
  public void setJava(int _sJava) {
    sJava=_sJava;
  }
  public String getName() {
    return sName;
  }
  public int getJava() {
    return sJava;
  }
}

Main.java

import java.util.Scanner;
public class Main {
  public static void main(String args[]) {
    Student []students=new Student[5];
    for(int i=0;i<=4;i++) {
      students[i]=new Student();
    }
    Scanner scanner=new Scanner(System.in);
    for (Student student:students) {
      System.out.println("请输入姓名和java成绩:");
      String name=scanner.next();
      int sjava=scanner.nextInt();
      student.setName(name);
      student.setJava(sjava);
    }
    scanner.close();
    double sum=0;
    int max=0;
    int min=0x3f3f3f3f;
    for (Student student:students) {
      sum=sum+student.getJava();
      if (max<student.getJava())
        max=student.getJava();
      if (min>student.getJava())
        min=student.getJava();
    }
    double avg=sum/5.0;
    System.out.println("平均分:"+avg);
    System.out.println("最高分:"+max);
    System.out.println("最低分:"+min);
  }
}

题目3

1 题目说明

(1)编写一个圆类Circle,该类拥有:

①一个成员变量 radius(私有,浮点型); // 存放圆的半径;

②构造方法

Circle( ) // 将半径设为0

Circle(double r) //创建Circle对象时将半径初始化为r

③成员方法

double getArea( ) //获取圆的面积

double getPerimeter( ) //获取圆的周长

radius的set和get方法

(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:

①一个成员变量 height(私有,浮点型); // 圆柱体的高;

②构造方法

Cylinder (double r, double h) //创建Circle对象时将半径初始化为r

③成员方法

double getVolume( ) //获取圆柱体的体积

height的set和get方法

(3)编写主类,创建一个圆柱对象,分别从键盘输入设置底面圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积.

2 实验设计

Circle类有一个私有变量radius为double双精度浮点类型。有一个空构造函数、一个参数为圆半径的构造函数。有直接得到周长和面积的getArea()、getPerimeter()方法。还有对radius属性的getter/setter方法。

Cylinder类继承Circle类。有一个私有变量height为双精度浮点类型。有一个空构造函数和一个参数分别为半径和高度的构造函数。有直接得到体积的getVolume()方法。还有对height属性的getter/setter方法。

Main类有main函数。

3 运行界面截图与说明

题目3运行结果:正确地创建了一个继承自Circle类的Cylinder类。在将底面半径设置成5.5、高设置成3.5后,正确地计算并分别输出了圆半径、圆面积、圆周长,圆柱体的体积,并保留两位小数。

4 代码

Circle.java

public class Circle {
  private double radius;
  public Circle(double r) {
    this.radius=r;
  }
  public Circle() {
    this.radius=0;
  }
  public double getRadius() {
    return radius;
  }
  public void setRadius(double radius) {
    this.radius = radius;
  }
  public double getArea() {
    return radius*radius*Math.PI;
  }
  public double getPerimeter() {
    return 2*radius*Math.PI;
  }
}

Cylinder.java

public class Cylinder extends Circle {
  private double height;
  public Cylinder(double r,double h){
    super(r);
    this.height=h;
  }
  public Cylinder() {
    super();
    this.height=0;
  }
  public double getHeight() {
    return this.height;
  }
  public void setHeight(double h) {
    this.height=h;
  }
  public double getVolume() {
    return super.getArea()*height;
  }
}

Main.java

import java.util.Scanner;
public class Main {
  public static void main(String args[]) {
    Cylinder cylinder=new Cylinder();
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入圆柱体的底面半径和高");
    double r,h;
    String str=sc.next();
    r=Double.parseDouble(str);
    str=sc.next();
    h=Double.parseDouble(str);
    sc.close();
    cylinder.setRadius(r);
    cylinder.setHeight(h);
    System.out.printf("底面半径%.2f\n",cylinder.getRadius());
    System.out.printf("底面面积%.2f\n",cylinder.getArea());
    System.out.printf("底面周长%.2f\n",cylinder.getPerimeter());
    System.out.printf("圆柱体积%.2f\n",cylinder.getVolume());
  }
}


目录
相关文章
|
6月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
248 4
|
6月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
310 5
|
6月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
295 1
|
6月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
436 1
|
6月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
287 1
|
消息中间件 存储 负载均衡
消息中间件的选择:RabbitMQ是一个明智的选择
消息中间件的选择:RabbitMQ是一个明智的选择
319 0
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
13829 1
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
572 3
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
850 2
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
消息中间件 数据库
消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
447 0