类 习题 java_Java类与对象练习题

请定义一个交通工具(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");

}

}

编写 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);

}

}

定义一个圆类——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();

}

}

构造方法与重载:定义一个网络用户类,要处理的信息有用户 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();

}

}

定义一个类 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();

}

}

定义一个类 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;kSystem.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();

}

}

创建一个空调,并调用制冷、制热、通风功能。空调包含的属性有品牌、匹数、温度,功能有加热、制冷、通风等功能。

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();

}

}

定义一个表示学生信息的类 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);

}

}

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页