java类和对象练习题1
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 {
Vehicle v; //声明对象;
v=new Vehicle(); //为对象分配变量
System.out.println("初速度为:"+v.speed);
v.speedUp();
System.out.println("加速后速度为:"+v.speed);
v.speedDown();
System.out.println("减速后速度为:"+v.speed);
}
关键词:题目加分析
内容(A)
定义一个复数类,在主函数中实现复数的相加运算
#include<iostream.h>
#include<math.h>
class F{
int a,b;
public:
void set(int t1,int t2) {a=t1;b=t2;}
void print()
{
char op={b>=0? '+':'-'}; //根据虚部b的值决定其正负号
cout<<a<<op<<abs(b)<<"i"<<endl; //字符“i”为复数的虚部标记
}
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的访问特性是私有的,所以不能在类体外直接使用。
关键词:题目一个
内容:找出一个整形数组中的元素的最大值
用类与对象的方法做:
#include<iostream.h>
using namespace std;
class Array_max{
private: //声明在类的外部不可访问的隐私成员
int array[10];
int max;
public: //声明在类的外部可以访问的开发的成员函数
void set_value(){
int i;
cout<<"请输出10个整数"<<endl;
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<<"max is:"<<max<<endl;
};
};
int main()
{
Array_max array1;
array1.set_value(); //初始化操作
array1.max_value(); //求最大值的操作
array1.show_value(); //输出最大的数
return 0;
}