Java类与对象练习题

故事扮演 提交于 2019-12-04 17:59:10
  1. 请定义一个交通工具(Vehicle)的类其中有: 属性: 速度(speed)、 体积(size)等,方法:移动(move())、设置速度(setSpeed(int speed))、加速 speedUp()、减速 speedDown()等。最后在测试类 Vehicle 中的 main()中实例化一个交通工具对象并通过方法给它初始化 speed,size 的值并且通过打印出来。另外调用加速、减速的方法对速度进行改变。
    public class Vehicle {
    private int size;
    private int speed;
    public static void main(String[] args) {
    Vehicle ve = new Vehicle();
    ve.setSize(10);//设置初始体积
    ve.setSpeed(30);//设置初始速度
    ve.move();//调用移动方法
    ve.speedUp();//给交通工具减速
    ve.speedDown();//加速

    }
    /** 行进 /
    public void move(){
    System.out.println("行进中…,速度 "+speed+“km/h” );
    }
    /
    * 设置速度 /
    public void setSpeed(int speed){
    this.speed = speed;
    System.out.println(“初始速度设置为:”+speed+" km");
    }
    /
    * 设置体积 /
    public void setSize(int size){
    this.size = size;
    System.out.println(“初始体积设置为:”+size+" m^3");
    }
    /
    * 加速20 /
    public void speedUp(){
    this.speed+=20;
    System.out.println(“速度增加20后为:”+speed+" km");
    }
    /
    * 减速10 */
    public void speedDown(){
    this.speed-=10;
    System.out.println(“减速10后为:”+speed+" km");
    }
    }

  2. 编写 Java 程序用于显示人的姓名和年龄。定义一个人类Person。 该类中应该有两个私有属性: 姓名 (name) 和年龄 (age) 。定义构造方法用来初始化数据成员。再定义显示(display()) 方法将姓名和年龄打印出来。在 main 方法中创建人类的实例然后将信息显示。
    public class Person {
    private String name;
    private int age;
    /** 在构造器中初始化成员变量 /
    public Person(String name,int age){
    this.name = name;
    this.age = age;
    }
    public static void main(String[] args) {
    Person p = new Person(“张三”,18);
    p.display();
    }
    /
    * 显示姓名和年龄 */
    public void display(){
    System.out.println(“姓名:”+name);
    System.out.println(“年龄:”+age);
    }
    }

  3. 定义一个圆类——Circle,在类的内部提供一个属性:半径®,同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。 通过两个方法计算圆的周长和面积并且对计算结果进行输出。最后定义一个测试类对 Circle 类进行使用。
    public class Circle {
    private int r;
    /** 无参构造 /
    public Circle(){}
    /
    * 有参构造,初始化半径*/
    public Circle(int r){
    this.r=r;
    }
    /** 也可以使用setR方法初始化半径 */
    public void setR(int r){
    this.r = r;
    }
    /计算 面积 /
    public void getArea(){
    double area = Math.PI * r * r;//从Math工具类得到π的值
    System.out.println(“圆的面积为:”+area);
    }
    /
    计算 周长 /
    public void getPerimeter(){
    double zc = Math.PI * 2 * r;
    System.out.println(“圆的周长为:”+zc);
    }
    }
    /
    测试 */
    public class Test {
    public static void main(String[] args) {
    Circle c = new Circle(4);//初始半径为4,使用构造初始化
    c.getArea();
    c.getPerimeter();
    }
    }

  4. 构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 email地址是用户 ID 加上字符串"@gameschool.com"。
    public class People {
    private String id;
    private String password;
    private String email;
    /** 无参构造 */
    public People(){

    }
    /** 全参构造 */
    public People(String id,String password,String email){
    this.id = id;
    this.password=password;
    this.email = email;
    }
    public People(String id,String password){
    this.id = id;
    this.password=password;
    this.email=id+"@gameschool.com";
    }
    public void show() {
    System.out.println(“编号:”+this.id);
    System.out.println(“密码:”+this.password);
    System.out.println(“邮件:”+this.email);
    }
    public static void main(String[] args) {
    //调用全参构造
    People p1 = new People(“sxt0001”,“123456”,"zhangsan@163.com");
    p1.show();
    //调用无参构造
    People p2 = new People(“sxt0002”,“654321”);
    p2.show();
    }
    }

  5. 定义一个类 Calculaion, 其中包含四个方法: 加(add()) 、 减(sub()) 、乘(times()) 和除(div()) 。 创建一个具有 main()函数的类。 在 main()函数中创建一个 Calculation 的实例对象并对其中的方法进行调用。

public class Calculaion {
private double a;
private double b;
public Calculaion(double a,double b){
this.a=a;
this.b=b;
}
public void add(){
System.out.println(“a加b :”+(a+b));
}
public void sub(){
System.out.println(“a减b :”+(a-b));
}
public void times(){
System.out.println(“a乘b :”+(a*b));
}
public void div(){
System.out.println(“a除以b :”+(a/b));
}
public static void main(String[] args) {
Calculaion c = new Calculaion(7.0,3.0);
c.add();
c.sub();
c.times();
c.div();
}
}

  1. 定义一个类 Draw , 在 类 中 提供 3 个 方法:输出直角三角形(drawTrian()) 、 输出矩形(drawRec()) 及平行四边形(drawPra()) 。通过方法可以输出由“*” 组成的一个图形。 同时在类中包含两个属性:星号的个数(count) 、行数(lines) 。最后在测试类中进行调用。
    public class Draw {
    private int count, lines;
    public Draw(){}
    public Draw(int count, int lines){
    this.count=count;
    this.lines=lines;
    }
    /** 直角三角形 /
    public void drawTrina() {
    for (int i = 0; i < lines; i++) {//共lines行
    for (int j = 0; j < i; j++) {//每次增加1
    System.out.print("
    ");
    }
    System.out.println();//换行
    }
    }
    /** 输出矩形 /
    public void drawRec(){
    for (int i = 0; i < lines; i++) {
    for (int j = 0; j < count; j++) {//每行数量固定
    System.out.print("
    ");
    }
    System.out.println();
    }
    }
    /** 平行四边形 /
    public void drawPra(){
    for (int i = 0; i < lines; i++) {
    for(int k=0;k<i;k++){
    System.out.print(" “);
    }
    for (int j = 0; j < count; j++) {
    System.out.print(”
    ");
    }
    System.out.println();
    }
    }
    public static void main(String[] args) {
    Draw d = new Draw(5,5);
    //d.drawTrina();
    //d.drawRec();
    d.drawPra();
    }
    }

  2. 创建一个空调,并调用制冷、制热、通风功能。空调包含的属性有品牌、匹数、温度,功能有加热、制冷、通风等功能。
    public class AirConditioning {
    // 空调属性
    String name;
    String pinpai;
    String hp;// 匹数
    int tempeture;
    // 定义制冷行为
    void cool() {
    tempeture–;
    }
    // 定义加热行为
    void hot() {
    tempeture += 7;
    }
    //通风功能
    void ventilate(){
    System.out.println(“空气通畅,温度不变”);
    }
    // 主函数
    public static void main(String[] args) {
    AirConditioning kt = new AirConditioning();
    kt.hp = “2匹”;
    kt.tempeture = 20;
    kt.pinpai = “格力”;
    kt.cool();
    System.out.println(“空调的温度是” + kt.tempeture);
    kt.hot();
    System.out.println(“空调的温度是” + kt.tempeture);
    kt.ventilate();
    }
    }

  3. 定义一个表示学生信息的类 Student,要求如下:
    (1)类 Student 的属性如下:
    sNO 表示学号; sName 表示姓名; sSex 表示性别; sAge 表示
    年龄;sJava:表示 Java 课程成绩。
    (2)类 Student 带参数的构造方法:
    在构造方法中通过形参完成对成员变量的赋值操作。
    (3)类 Student 的方法成员:
    getNo():获得学号;
    getName():获得姓名;
    getSex():获得性别;
    getAge()获得年龄;getJava():获得 Java 课程成绩
    public class Student {
    String sNO ;
    String sName;
    String sSex;
    int sAge;
    int sJava;
    public Student(String sNO, String sName, String sSex, int sAge, int sJava) {
    this.sNO = sNO;
    this.sName = sName;
    this.sSex = sSex;
    this.sAge = sAge;
    this.sJava = sJava;
    }
    public String getsNO() {
    return sNO;
    }
    public String getsName() {
    return sName;
    }
    public String getsSex() {
    return sSex;
    }
    public int getsAge() {
    return sAge;
    }
    public int getsJava() {
    return sJava;
    }
    }
    (4) 根据类 Student 的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生 Java 语言成绩的平均值,以及计算并输出他们 Java 语言成绩的最大值和最小值。
    public class Test {
    public static void main(String[] args) {
    Student s1 = new Student(“sxt0001”, “张三”, “男”,18,90);
    Student s2 = new Student(“sxt0002”, “李四”, “女”,15,92);
    Student s3 = new Student(“sxt0003”, “王五”, “男”,17,93);
    Student s4 = new Student(“sxt0004”, “赵六”, “男”,21,95);
    Student s5 = new Student(“sxt0005”, “钱七”, “男”,19,97);

    System.out.println("\t学号\t姓名\t姓别\t年龄\t成绩");
    System.out.println("\t"+s1.getsNO()+"\t"+s1.getsName()
    		+"\t"+s1.getsSex()+"\t"+s1.getsAge()+"\t"+s1.getsJava());
    System.out.println("\t"+s2.getsNO()+"\t"+s2.getsName()
    		+"\t"+s2.getsSex()+"\t"+s2.getsAge()+"\t"+s2.getsJava());
    System.out.println("\t"+s3.getsNO()+"\t"+s3.getsName()
    		+"\t"+s3.getsSex()+"\t"+s3.getsAge()+"\t"+s3.getsJava());
    System.out.println("\t"+s4.getsNO()+"\t"+s4.getsName()
    		+"\t"+s4.getsSex()+"\t"+s4.getsAge()+"\t"+s4.getsJava());
    System.out.println("\t"+s5.getsNO()+"\t"+s5.getsName()
    		+"\t"+s5.getsSex()+"\t"+s5.getsAge()+"\t"+s5.getsJava());
    int d = (s1.getsJava()+ s2.getsJava()+ s3.getsJava()
    		+ s4.getsJava()+ s5.getsJava())/5;
    System.out.println("java语言平均成绩:"+d);
    

    }
    }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!