java类和对象试题_java类和对象练习题1

本文提供两道关于Java类与对象的编程题。第一题涉及创建一个交通工具类`Vehicle`,包括速度和体积属性,以及移动、设置速度、设置体积、加速和减速的方法。在测试类中实例化并操作对象展示其功能。第二题是C++题目,创建一个复数类`F`,实现复数的相加运算,并讨论了类的成员访问权限。第三题同样用类与对象的方法,编写一个找到整型数组最大值的程序。
摘要由CSDN通过智能技术生成

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

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

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

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

code:

public class Vehicle {

double speed;    //速度属性

double size;     //体积属性

public Vehicle(){   //构造方法

speed=1.0;

size=1.0;

}

public void move(){

//移动

}

public void setSpeed(int speed){

this.speed=speed;     //设置速度

}

public void setSize(int size){

this.size=size;

}                           //设置体积

public void speedUp(){

speed=speed*2;          //加速方法

}

public void speedDown(){

speed=speed-1;         //减速方法

}

}

public class TestVehicle {

public static void main(String[] args) {

Vehicle v;           //声明对象;

v=new Vehicle();     //为对象分配变量

System.out.println("初速度为:"+v.speed);

v.speedUp();

System.out.println("加速后速度为:"+v.speed);

v.speedDown();

System.out.println("减速后速度为:"+v.speed);

}

}

248fae998955d3451a025cd4906fb58a.png

d877e5dff5f22c2d65b6ada2ac891f94.png

2.

关键词:题目加分析

内容(A)

定义一个复数类,在主函数中实现复数的相加运算

#include

#include

class  F{

int a,b;

public:

void set(int t1,int t2) {a=t1;b=t2;}

void print()

{

char op={b>=0? '+':'-'}; //根据虚部b的值决定其正负号

cout<

}

int geta() {return a;}

int getb() {return b;}

};

void main()

{

F f1,f2,f3;

f1.set(1,2); //A

f1.print(); //B

f2.set(3,-4); //C

f2.print(); //D

int a1,b1;

a1=f1.geta()+f2.geta(); //E

b1=f1.getb()+f2.getb(); //F

f3.set(a1,b1); //G

f3.print(); //H

}

(B)程序中类F的所有成员函数均定义为公有函数,所以在类体外,如A~H行均可以通过对象直接调用这些函数。类F的数据成员a和b的访问特性是私有的,所以不能在类体外直接使用。

3.

关键词:题目一个

内容:找出一个整形数组中的元素的最大值

用类与对象的方法做:

#include

using namespace std;

class Array_max{

private:   //声明在类的外部不可访问的隐私成员

int array[10];

int max;

public:  //声明在类的外部可以访问的开发的成员函数

void set_value(){

int i;

cout<

for(i=0;i<10;i++)

{

cin>>array[i];

}

};

void max_value(){

int i;

max=array[0];

for(i=1;i<10;i++){

if(array[i]>max)

max=array[i];

}

};

void show_value(){

cout<

};

};

int main()

{

Array_max array1;

array1.set_value(); //初始化操作

array1.max_value(); //求最大值的操作

array1.show_value(); //输出最大的数

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值