Day7实验

Day7## 实验1.2.3整理的部分题

实验1

  1. 定义一个汽车类(Car),属性有颜色,品牌,车牌号,价格,并实例化两个对象,给属性赋值,并输入属性值

    public String colour;
    
    public String brand;
    
    public String chepaihao;
    
    public double price;
    
     Car p1 = new Car();
    
     Car p2 = new Car();
    
     p1.brand="hong";
    
     p2.brand="hei";
    
     
    
     
    
     System.out.println(p1.brand+" "+p2.brand);
    
  2. 定义一个球员类(Player),属性有身高,体重,姓名,实例化两个球员,分别是姚明和科比;

    public double high;
    
    public double weight;
    
    public String name;
    
     Player p1 = new Player();
    
     Player p2 = new Player();
    
     p1.name="yaoming";
    
     p2.name="kebi";
    
     System.out.println(p1.name+" "+p2.name);
    
  3. 定义一个僵尸类(Zombie),属性有名子,体力值,攻击力,实例化三个僵尸类,并给属性赋值;

  4. 打印int,char, float,double,String ,boolean这些数据类型作为类属性时的默认值
    实验2

方法与构造方法练习

【练习题】01.类的成员变量:

设计一个立方体类Box,定义三个属性,分别是长,宽,高。定义二个方法,分别计算并输出立方体的体积和表面积

【练习题】02.类的成员变量:

请定义一个交通工具(Vehicle)的类,其中有:

属性:速度(speed),体积(size)等等

方法:移动(move(int s)),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.

最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。调用 move方法输出移动距离

【练习题】03.类的成员变量与方法

定义一个Hero类属性有 power,name,分别代表体力值和英雄的名子,体力值默认为100; 方法有

1.void go(); //行走的方法,如果体力值为0,则输出不能行走,此英雄已死亡的信息

2.void eat(int n); //吃的方法,参数是补充的血量,将 n的值加到属性power中,power的值最大为100,

3.void hurt();//每受到一次伤害,体力值-10,体力值最小不能小于0

编写测试类,来测试以上代码

【练习题】04.方法的参数及返回值

定义一个计算器;它的功能有 加,减,乘,除,累加,阶乘,求平方,求次方,判断一个数是否为素数;boolean(int),并写测试类来测试这个方法

    public int add(int a,int b){

    return a+b;

}

public int sub(int a,int b){

    return a-b;

}

public int mulAgdd(int a){

    int sum = 0;

    for(int i=1;i<=a;i++){

        sum+=i;

    }

    return sum;

}

public int leicheng(int a){

    int sum = 0;

    for(int i=1;i<=a;i++){

        sum*=i;

    }

    return sum;

}

public double cf(int a,int b){

    return Math.pow(a,b);

}

public static void main(String[] args){

    JiSuanQi
 p = new JiSuanQi();

    System.out.println(p.add(5, 8)+" "+p.cf(2, 3));

}

【练习题】05.构造方法:

编写Java程序,用于显示人的姓名和年龄。

定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。

在main方法中创建人类的实例,然后将信息显示。

public String name;

public int age;

public Person( String name,int age){

    this.name = name;

    this.age = age;

}

public void display(){

    System.out.println(name+"  "+age);

}

public static void main(String[] args){

    Person p = new Person("zs",18);

    p.display();

 }

【练习题】06.get方法和set方法

定义一个类,该类有一个成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法 提示:假设有String name;则有

  public void setName(String name){

  this.name= name;
  
  }

  public String getName(){

  return this.name;

 }

【练习题】07.构造方法与重载

为“无名的粉”写一个类:class WuMingFen 要求:

1.有三个属性:面码:String theMa 粉的份量(两):int quantity 是否带汤:boolean likeSoup

2.写一个构造方法,以便于简化初始化过程,如:WuMingFen f1 = new WuMingFen(“牛肉”,3,true);

3.重载构造方法,使得初始化过程可以多样化:WuMingFen f2 = new WuMingFen(“牛肉”,2);

4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?WuMingFen f3 = new WuMingFen();

5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。

public  String theMa;

public  int quantity;

public 
boolean likeSoup;

public WuMingFen(String theMa,int quantity,boolean likeSoup){

    this.theMa=theMa;

    this.quantity=quantity;

    this.likeSoup=likeSoup;

}

public WuMingFen(String theMa,int quantity){

    this.theMa=theMa;

    this.quantity=quantity;

    this.likeSoup = true;

}

 public WuMingFen() {

}

public void check(){

    System.out.println(theMa);

    System.out.println(quantity);

    System.out.println(likeSoup);

}

public static void main(String[] args) {

    WuMingFen
f1 = new WuMingFen("牛肉",3);

    f1.check();

 }

【练习题】08.构造方法的重载:

在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为MyTime类定义构造方法,以方便创建对象时初始化成员变量。再定义diaplay方法,用于将时间信息打印出来。为MyTime类添加以下方法:
addSecond(int sec)
addMinute(int min)
addHour(int hou)
subSecond(int sec)
subMinute(int min)
subHour(int hou)
分别对时、分、秒进行加减运算。

public int hour;

public int minute;

public int second;

public MyTime(int hour, int minute, int second) {

    this.hour = hour;

    this.minute = minute;

    this.second = second;

}

public void addSecond(int sec){

    this.second += sec;

    if(this.second>=60){

        addMinute(1);

        this.second -= 60;

    }

}

public void addMinute(int min){

     this.minute += min;

     if(this.minute>=60){

         addHour(1);

         this.minute -= 60;

     }

}

public void addHour(int hou){

    this.hour += hou;

    if(this.hour>=24){

        this.hour -=24;

    }

}

public static void main(String[] args){

 MyTime
 j = new MyTime(3,4,5);

 System.out.println(j.hour);

}

【练习题】09.构造方法与重载

定义一个牛肉面的类(Noodle),它的属性有,牛肉面宽度 width 尺寸:size (大碗还是小碗) 大碗8元,小碗6元 是否加肉:beef :加肉+4元加蛋的数量:eggs :每个1元;定义构造方法来根据不同的条件创建不同的牛肉面
Noodle(){
//不加肉,大碗,不加蛋,中宽;
}
Noodle(String width,int size)
Noodle(String width,int size,boolean beef);
Noodle(String width,int size,boolean beef,int eggs);
再定义一个方法,用来显示当前牛肉面的信息,并显示金额;
void showNoodleInfo();

【练习题】10.构造方法与重载、包

编写Addition类,该类中应包含一组实现两数相加运算的重载方法。

实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。
在main方法中创建Addition类的实例,分别调用重载方法测试其效果。
应将Addition类打入到包中,以自己名字的拼音为包命名。

【练习题】11.构造方法与重载

定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串"@gameschool.com"

【练习题】12.构造方法与重载

建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。并通过不同的构造方法创建事例。

至少要求:汽车能够加速,减速,停车。

要求:命名规范,代码体现层次,有友好的操作提示。

【练习题】13.构造方法与重载

创建一个类,为该类定义三个构造函数,分别执行下列操作:

1、传递两个整数值并输出其中较大的一个值

2、传递三个double值并计算出其乘积,将结果输出

3、传递两个字符串值并将它们连接到一起后输出

4、在main方法中测试构造函数的调用
实验3
【练习题】1.继承:
定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。 编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。在main方法中测试以上各类。

public String brand;

public String color;

public void run(){

    System.out.println("我已经开动了");

}

public void showInfo(){

    System.out.println(brand+color);

 }

 public int seats;

public void showCar(){

    seats = 4;

    System.out.println(seats);

 }

 public float load;

public void showTruck(){

    load = 50;

    System.out.println(load);

 }

Car p = new Car();

    Truck
 j = new Truck();

    p.showCar();

   j.showTruck();

【练习题】2.继承:

编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。

 public class Calculate1 {

 public int add(int a,int b){

     return a+b;

 }

 public int sub(int a,int b){

     return a-b;

 }

}

public class Calculate2 extends Calculate1{

public int mul(int a,int b){

 return a*b;

}

public double divide(int a,int b){

 return a/b;

}

public static void main(String[] args) {

    Car
p = new Car();

    Truck
j = new Truck();

    p.showCar();

    j.showTruck();



}

}

 public class test {



public static void main(String[] args) {

    Calculate1
 p = new Calculate1();

    Calculate2
j = new Calculate2();

    System.out.println(p.add(10, 2));

}



}

【练习题】3.包、继承、构造函数

编写一个控制台应用程序,完成下列功能,并回答提出的问题。

  1. 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。

2.从A继承一个名为C的新类,并在C内创建一个成员变量B。不要为C创建构造函数。

  1. 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。

  2. 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?

【练习题】4.继承:

建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个类的字段都以属性的方式对外提供数据输入输出的功能。

【练习题】5.覆盖、继承

建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求: 汽车能够加速,减速,停车。
再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值