当前位置: 代码迷 >> 综合 >> Java开发练习2,类与对象
  详细解决方案

Java开发练习2,类与对象

热度:92   发布时间:2024-01-19 22:39:48.0

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

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

方法:移动(move()),设置速度(setSpeed(intspeed)),设置体积(setSize(int size))加速speedUp(),减速speedDown()等

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

public class Vehicle {int speed;int size;public Vehicle(int speed, int size) {// TODO Auto-generated constructor stubthis.speed = speed;this.size = size;}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}void move(){}int speedUp(){return speed+10;}int speedDown(){return speed-5;}
}
public class VehicleTest {public static void main(String[] args) {// TODO Auto-generated method stubVehicle  v = new Vehicle(10,5);	System.out.println("速度:"+v.getSpeed());System.out.println("体积:"+v.getSize());System.out.println("加速:"+v.speedUp());System.out.println("减速:"+v.speedDown());}}

2.打印当前时间。学习使用Date类和Calendar类

import java.util.Calendar;
import java.util.Date;public class Time {public static void main(String[] args) {// TODO Auto-generated method stubDate time=new Date();System.out.println(time);//获取时间Calendar cal =Calendar.getInstance();cal.setTime(new Date());int year=cal.get(Calendar.YEAR);int month=cal.get(Calendar.MONTH)+1;  //一月对应0;int day=cal.get(Calendar.DAY_OF_MONTH);System.out.print(" "+year+"年"+" "+month+"月"+day+"日");}}


3. 以Point类为基础,定义一个平面中的Circle类:

1、  编写一个无参的构造函数;

2、  编写一个有参的构造函数;

3、  在主函数中调用无参的构造函数生成圆的实例c1,调用有参的构造函数生成圆的实例c2,调用实例方法判断c1和c2是否相重叠。

import java.util.*;
public class Circle {int x;int y;double r;Circle(){ //无参构造方法x=1;y=1;r=1.0;}Circle(int a,int b,int R){//有参构造方法x=a;y=a;r=R;  }void Chongdie(Circle c) {  //判定重叠if(x==c.x&&y==c.y&&r==c.r)System.out.println("c1和c2重叠");elseSystem.out.println("c1和c2不重叠");}
}import java.util.Scanner;class CircleTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);int a=input.nextInt();int b=input.nextInt();int R=input.nextInt();Circle c1=new Circle();Circle c2=new Circle(a,b,R);c1.Chongdie(c2);}}


4.编写代码模拟手机与SIM卡的组合关系。

要求:

           SIM卡类负责创建SIM卡;

           Phone类负责创建手机;

          手机可以组合一个SIM卡;

          手机可以更换其中的SIM卡。

public class Phone {SIM sim=new SIM();public SIM getSim() {return sim;}public void setSim(SIM sim) {this.sim = sim;}public void show(){System.out.println(sim.getNumber());}}
public class SIM {int number;public long getNumber() {return number;}public void setNumber(int number) {this.number = number;}
}
public class zuhe {public static void main(String[] args) {// TODO Auto-generated method stubSIM sim=new SIM();sim.setNumber(123456789);Phone phone=new Phone();phone.setSim(sim);phone.show();System.out.println("换号");SIM simnew=new SIM();simnew.setNumber(987654321);phone.setSim(simnew);phone.show();}}

5.用类描述CPU硬盘

public class CPU {int speed;public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}
}
public class HardDisk {int amount;public int getAmount() {return amount;}public void setAmount(int amount) {this.amount = amount;}}
public class PC {CPU cpu;HardDisk HD;public CPU getCpu() {return cpu;}public void setCpu(CPU cpu) {this.cpu = cpu;}public HardDisk getHD() {return HD;}public void setHD(HardDisk hD) {this.HD = hD;}void Show() {System.out.println("CPU频率"+cpu.getSpeed());System.out.println("硬盘容量"+HD.getAmount());}}
package org.gerrysu.Test5;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubCPU cpu = new CPU();cpu.setSpeed(2200);HardDisk disk = new HardDisk();disk.setAmount(200);PC pc = new PC();pc.setCpu(cpu);pc.setHD(disk);pc.Show();}}