当前位置:文档之家› java 上机练习题

java 上机练习题

上机练习一一、将Vehicle 和VehicleDriver两个文件用自己的文本编辑器重新编辑并编译和运行,掌握类和对象的定义和使用1、V ehicle.java (注意:以下代码有几个错误的地方,需要同学自己把他们找出来并更正过来)public class Vehicle{public float journey;public int wheelNum;public int loadNum;public int driveSpeed;/***Vehicle 类构造函数,设定初始值*/public Vehicle(){journey=100.3f;wheelNum=4;loadNum=1;}/***Vehicle类的driveAt行驶方法*/public void driveAt(int speed){if (speed>=60){System.out.println("行车速度太快,容易造成事故");//如果要求的车速太快,则机动车自动以40单位速度行驶driveSpeed=40;}else {System.out.println("你在安全行驶速度内行驶");driveSpeed=speed;}}}2、V ehicleDriver.javapublic class VehicleDriver{public String name; //定义司机的名字/***VehicleDriver 类构造函数*/public VehicleDriver(){name="TOM";}/***VehicleDriver 类对象的work方法*/public void work(){Vehicle v=new Vehicle(); //生成Vehicle类的对象vv.driveAt(70); //调用v对象所固有的driveAt()方法}public static void main(String args[]){//生成VehicleDriver类的对象vbVehicleDriver vd=new VehicleDriver();vd.work(); //调用vd对象所固有的work()方法}}二、将Vehicle 和VehilceDriver 两个类放在一个.java文件中,文件名称取名为Vtogether.java (注意:需将Vehicle 或 VehicleDriver中某一个类的名称改名为Vtogether,具体更改哪一个由同学根据实际情况来判断),编译和运行该文件三、将上课布置的课后作业在机器上实现出来运算公式:z=4*x*x+2*x*y+5*y*y要求:设计两个类,在第一个类中定义一个方法,该方法主要实现z=4*x*x+2*x*y+5*y*y的运算过程,其中x,y作为形参,在本方法中不给出具体的值,只有当其他方法调用该㎡方法时才给出x,y的具体值,z是在这个方法运行之后的返回值,需要将这个数据返回给调用这个方法的语句。

在第二个类中定一个main()方法,该方法的主要过程就是调用之前所建类中的方法,并将返回值在屏幕上显示出来四、一个程序里面,定义了,两个整型变量a和b,使用构造函数初始化a 为10,b为5,求出a与b的和、差、积、商上机练习二一、判断以下程序的结果,并把它改称两个类的形式,其中一个类专门处理运算。

public class Excer{public static void main(String args[]){Excer ex=new Excer();ex.math();}void math(){int x=130,y=45;System.out.println("x="+x+" ,y="+y);System.out.println("x+y="+plus(x,y));System.out.println("x-y="+minus(x,y));System.out.println("x*y="+multi(x,y));System.out.println("x/y="+div(x,y));}int plus(int a,int b){return(a+b);}int minus(int a,int b){return(a-b);}int multi(int a,int b){return(a*b);}float div(int a,int b){return ((float)a/b);}}二、将第一题中x和y的值改为从程序的命令行参数中取(将字符串转换为整形的语句格式为 Integer.parseInt(string) )三、创建一个汽车类CarModel.java,它里面有2个不同的构造函数,CarManufactory.java可以应用这些构造方法创建不同类型的汽车CarModel.java设计要求如下:定义style(String),color(String),category(String)注:括号中为变量类型创建第一个构造函数,分别给以上变量赋值,要求为该构造函数定义三个形参,分别赋给相应的变量,形参的值在对象创建时给出创建第二个构造函数,此构造函数过程为空定义三个方法,分别返回style,color,category的值CarManufactory.java设计要求如下:使用不同的构造函数创建两辆汽车显示两辆车相关的属性,属性的值要从CarModel的相关方法中取出四、编程实现以下要求:(1)写一个类,他的实例表示从一幅牌中打出牌(2)写一个类,他的实例代表一幅牌(3)利用上面的两个类写一个程序,演示一幅牌中所有的牌,结果如下:Ace of DiamondsTwo of DiamondsThree of Diamonds……….Ten of DiamondsJack of DiamondsQueen of DiamondsKing of DiamondsAce of Clubs……..King of ClubsAce of Hearts…….King of HeartsAce of Spades…….King of Spades五、在Vehicle类的基础上创建一个Tractor(拖拉机)类,他不大拥有journey,wheelNum,loadNum,driveSpeed 四种属性和driveAt()方法,而且还拥有自己的plough(耕地)方法,在该方法中要求能够显示journey,wheelNum,loadNum三个属性的值,在这个类中还要创建一个main()方法,分别调用plough()和driveAt方法public class Vehicle{public float journey;public int wheelNum;public int loadNum;public int driveSpeed;public Vehicle(){journey=100.3f;wheelNum=4;loadNum=1;}public void driveAt(int speed){if (speed>=60){System.out.println("行车速度太快,容易造成事故");//如果要求的车速太快,则机动车自动以40单位速度行驶driveSpeed=40;}else {System.out.println("你在安全行驶速度内行驶");driveSpeed=speed;}}}六、在以下程序中出现了属性的覆盖,编译运行下面程序,掌握产生属性覆盖时属性的变化规则public class Father{int a=100;public void miner(){a--;}public static void main(String[] arg){Father x=new Father();Son y=new Son();System.out.println("a of son is :" +y.a);System.out.println("a of son's super is :" +y.getA());y.miner();System.out.println("a of son is :"+y.a);System.out.println("a of son's super is :" +y.getA());}}class Son extends Father {int a=0;public int getA(){return super.a;}}上机练习三一、完成上机练习二中的作业二、阅读以下程序,判断程序的运行结果,给打* 的语句写上注释,掌握方法的重载与覆盖class Cleanser{private String s=new String("Cleaner");* public void append(String a){s=s+" "+a ;}public void dilute(){append("dilute()");}*public void apply(){append("apply()");}public void scrub(){append("scrub()");}public void print(){System.out.println(s);}public static void main(String[] args){Cleanser x=new Cleanser();x.dilute();x.apply();x.scrub();* x.print();}}public class Detergent extends Cleanser{public void scrub(){* append("Detergent.scrub()"); super.scrub();}* public void foam(){append("foam()");}public static void main(String arg[]){Detergent x=new Detergent();System.out.println("Subclass has :");* x.dilute();* x.scrub();x.foam();* x.print();System.out.println("Super class has:");* Cleanser.main(arg);}}三、创建一个汽车类(Car),为其定义两个属性:颜色和型号,为该类创建两个构造函数:第一个为无形参的构造函数,其过程是将颜色和型号初始化为红色、轿车第二个须定义两个形参,并将形参的值分别赋给颜色和型号,为该类创建两个方法,分别用来显示颜色和型号。

相关主题