Java第八天-面向对象练习

/**01.类的成员变量(属性),猜数字游戏,一个类A有一个成员变量(属性)v有一个初值100。定义一个类对A类的成员变量v进行猜。若是大了则提示大了小了则提示笑了。等于则提示猜想成功
*/
public class Test{
    public static void main(String[] args){
        //定义一个猜想的变量
        int guess=55;
        //建立一个A类的对象
        A a=new A();
        if(guess>a.v){
            System.out.println("猜大了");
        }
        else if(guess<a.v){
            System.out.println("猜小了");
        }else{
            System.out.println("猜对了");
        }
    }
}
class A{
    int v=100;
}java

/**02.类的成员变量  请定义一个交通工具(Vehicle)的类中有:属性速度(speed)、体积(size)等等,方法移动(move())设置速度(setspeed(int speed))、加速speedUp()、减速speedDown()等等。最后在测试类Vehile种的main()中实例化一个交通工具对象并经过方法给它初始化speed、size的值而且经过打印出来。另外调用加速减速的方法对速度进行改变。
*/
class Vehicle{
    int speed;
    int size;
    public void move(){
        System.out.println("正在行驶速度是"+speed);
    }
    public void setSpeed(int sp){
        this.speed=sp;
    }
    //自定义加速
    public void speedUp(int sp){
        speed+=sp;
    }
    //第二种方式,逐步加速
    public void speedUp(){
        speed++;
    }
    public void speedDown(int sp){
        speed-=sp;
    }
    public void info(){
        System.out.println("速度:"+speed+"大小:"+size);
    }
}
public class TestVehicle{
    public static void main(String[] args){
        Vehicle motor=new Vehicle();
        motor.speed=20;
        motor.size=50;
        motor.info();
        motor.setSpeed(100);
        motor.speedUp(2);
        motor.move();
        motor.speedDown(3);
        motor.move();
    }
}安全

/**03.类的成员变量与方法、在程序中常常对时间进行操做可是并无时间类型的数据。那么咱们能够本身实现一个时间类来知足程序中的须要。定义名为MyTime的类其中应有三个整型属性时hour分minute秒second为了保证数据的安全性这三个变量应声明为私有。建立MyTime类对象而且初始化成员变量。再定义diaplay方法用于将时间信息打印出来。为MyTime类添加如下方法addSecong(int sec)、addMinute(int min)、addHour(int hou)、subSecond(int sec)、subMinute(int min)、subHour(int hou)分别对时、分、秒进行加减运算。工具

*/
class MyTime{
    //三个私有属性hour、minute、second
    private int hour;
    private int minute;
    private int second;
    public void setHour(int hou){
        hour=hou;
    }
    public int getHour(){
        return hour;
    }
    public void setMinute(int min){
        minute=min;
    }
    public int getMinute(){
        return minute;
    }
    public void setSecond(int sec){
        second=sec;
    }
    public int getSecond(){
        return second;
    }
    public void diapaly(){
        System.out.println(this.hour+":"+this.minute+":"+this.second);
    }
    //加小时
    public int addHour(int hou){
        hour+=hou;
        return hour;
    }
    public int subHour(int hou){
        hour-=hou;
        return hour;
    }
    //加分钟
    public int addMinute(int min){
        minute+=min;
        return minute;
    }
    public int subMinute(int min){
        minute-=min;
        return minute;
    }
    //加秒
    public int addSecond(int sec){
        second+=sec;
        return second;
    }
    public int subSecond(int sec){
        second-=sec;
        return second;
    }
}
class TestMyTime{
    public static void main(String[] args){
        //建立MyTime对象
        MyTime B=new MyTime();
        B.setHour(15);
        B.setMinute(25);
        B.setSecond(37);
        B.diapaly();
        //修改时间
        B.addHour(2);
        B.addMinute(10);
        B.subSecond(7);
        B.diapaly();
    }
}oop

/**04.编写Java程序模拟简单的计算器。定义名为MyNumber的类中有两个整型成员n1和n2应声明为私有。再为该类定义加addition、减subtration、乘multiplication、除duvision等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。在main方法中建立MyNumber类的对象赋予n1和n2初始值低调用各个方法并显示计算结果。
*/
class MyNumber{
    private int n1;
    private int n2;
    public void setN1(int n){
        n1=n;
    }
    public int getN1(){
        return n1;
    }
    public void setN2(int n){
        n2=n;
    }
    public int getN2(){
        return n2;
    }
    public int addition(){
        return n1+n2;
    }
    public int subtration(){
        return n1-n2;
    }
    public int multiplication(){
        return n1*n2;
    }
    public int division(){
        return n1/n2;
    }
}
public class TestMyNumber{
    public static void main(String[] args){
        MyNumber time=new MyNumber();
        time.setN1(72);
        time.setN2(3);
        int addresult=time.addition();
        System.out.println("打印加法结果"+addresult);
        int subresult=time.subtration();
        System.out.println("打印减法结果"+subresult);
        int mulresult=time.multiplication();
        System.out.println("打印乘法结果"+mulresult);
        int divresult=time.division();
        System.out.println("打印除法结果"+divresult);
    }
}测试

/**05.类的成员变量与方法、在程序中常常对时间进行操做可是并无时间类型的数据。那么咱们能够本身实现一个时间类来知足程序中的须要。定义名为MyTime的类其中应有三个整型属性时hour分minute秒second为了保证数据的安全性这三个变量应声明为私有。为MyTime类定义构造方法以方便建立对象时初始化成员变量。再定义diaplay方法用于将时间信息打印出来。为MyTime类添加如下方法addSecong(int sec)、addMinute(int min)、addHour(int hou)、subSecond(int sec)、subMinute(int min)、subHour(int hou)分别对时、分、秒进行加减运算。
*/
class MyTime{
    private int hour;
    private int minute;
    private int second;
    //使用构造器的方式进行初始化
    public MyTime(int hour,int minute,int second){
        this.hour=hour;
        this.minute=minute;
        this.second=second;
    }
    /*题干要求使用构造器的方法进行初始化就不须要封装了
    public void setHour(int hou){
        hour=hou;
    }
    public int getHour(){
        return hour;
    }
    public void setMinute(int min){
        minute=min;
    }
    public int getMinute(){
        return minute;
    }
    public void setSecond(int sec){
        second=sec;
    }
    public int getSecond(){
        return second;
    }
    */
    public void diapaly(){
        System.out.println(this.hour+":"+this.minute+":"+this.second);
    }
    public int addHour(int hou){
        hour+=hou;
        return hour;
    }
    public int subHour(int hou){
        hour-=hou;
        return hour;
    }
    public int addMinute(int min){
        minute+=min;
        return minute;
    }
    public int subMinute(int min){
        minute-=min;
        return minute;
    }
    public int addSecond(int sec){
        second+=sec;
        return second;
    }
    public int subSecond(int sec){
        second-=sec;
        return second;
    }
}
class AnotherMyTime{
    public static void main(String[] args){
        //建立时间
        MyTime B=new MyTime(15,25,37);
        B.diapaly();
        //修改时间
        B.addHour(2);
        B.addMinute(10);
        B.subSecond(7);
        B.diapaly();
    }
}this

/**06.编写Java程序模拟简单的计算器。定义名为MyNumber的类中有两个整型成员n1和n2应声明为私有。编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、除duvision等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。在main方法中建立MyNumber类的对象赋予n1和n2初始值低调用各个方法并显示计算结果。
*/
class MyNumber{
    private int n1;
    private int n2;
    //使用构造器的方式进行初始化
    public MyNumber(int n1,int n2){
        this.n1=n1;
        this.n2=n2;
    }
    /*题干要求使用构造器的方法进行初始化就不须要封装de 方法了
    public void setN1(int n){
        n1=n;
    }
    public int getN1(){
        return n1;
    }
    public void setN2(int n){
        n2=n;
    }
    public int getN2(){
        return n2;
    }
    */
    public void addition(){
        int add=0;
        add=n1+n2;
        System.out.println("两数相加结果为"+add);
    }
    public void subtration(){
        int sub=0;
        if(n1>=n2){
            sub=n1-n2;
        }else{
            sub=n2=n1;
        }
        System.out.println("两数相减结果为"+sub);
    }
    public void multiplication(){
        int mul=1;
        mul=n1*n2;
        System.out.println("两数相乘结果为"+mul);
    }
    public void duvision(){
        double duv=0.00;
        duv=n1/n2;
        System.out.println("两数相除结果为"+duv);
    }
}
public class AnotherMyNumber{
    public static void main(String[] args){
        MyNumber time=new MyNumber(72,3);
        time.addition();
        time.subtration();
        time.multiplication();
        time.duvision();
    }
}对象

/**07.构造方法编写java程序用于显示人的姓名和年龄。定义一我的类Person
、该类中应该有两个私有属性姓名name和年龄age。定义构造方法用来初始化数据成员。在定义显示display方法将姓名和年龄打印出来。在main中建立人类的实例而后将信息显示出。
*/
class Person{
    private String name;
    private int age;
    public Person(String name,int age){
        this.name=name;
        this.age=age;
    }
    /*题干要求使用构造器的方法进行初始化就不须要封装de 方法了
    public void setName(String myName){
        name=myName;
    }
    public String getName(){
        return name;
    }
    public void setAge(int myAge){
        age=myAge;
    }
    public int getAge(){
        return age;
    }
    */
    public void display(){
        System.out.println(name);
        System.out.println(age);
    }
}
public class TestPerson{
    //任何类均可以使用主方法
    public static void main(String[] args){
        Person p=new Person("翠花",18);
        p.display();
    }
}游戏

/**08.按要求编写一个Java应用程序:
(1)编写一个矩形类Rect,包含矩形的宽width;矩形的高height.
两个构造方法:
1.一个带有两个参数的构造方法,用于将width和height属性初始化;
2.一个不带参数的构造方法,将矩形初始化为宽和高都为10.
两个方法:
求矩形面积的方法area();
求矩形周长的方法perimeter();
*/
class Rect{
    int width;
    int height;
    //构造器初始化
    public Rect(int width, int height){
        this.width=width;
        this.height=height;
    }
    //不带参数的构造器,将矩形初始化为宽和高都为10
    public Rect(){
        //this可省略
        this.width=10;
        this.height=10;
        
    }
    public void area(){
        int area=1;
        area=width*height;
        System.out.println("矩形的面积为"+area);
    }
    public void perimeter(){
        int perimeter=0;
        perimeter=2*(width+height);
        System.out.println("矩形的周长为"+perimeter);
    }
}
public class TestRect{
    public static void main(String[] args){
        //建立一个对象
        Rect a=new Rect(12,6);
        //求面积
        a.area();
        //求周长
        a.perimeter();
        //建立另外一个对象
        Rect b=new Rect();
        b.area();
        b.perimeter();
    }
}ip

/**09.类属性和类方法 定义一个类MyMath,提供基本的加减乘除(能够本身来扩展)功能,而后进行测试
*/
class MyMath{
    static double PI=3.14;
    //圆的面积的计算
    public static double area(int r){
        return PI*r*r;
    }
    public static int add(int a, int b){
        return a+b;
    }
    public static int sub(int a,int b){
        return a-b;
    } 
    public static int mul(int a, int b){
        return a*b;
    }
    public static int div(int a, int b){
        return a/b;
    }
}
public class TestMyMath{
    public static void main(String[] args){
        double area=MyMath.area(5);
        System.out.println("圆的面积是"+area);
        int addresult=MyMath.add(12,13);
        System.out.println(addresult);
        int subresult=MyMath.sub(29,4);
        System.out.println(subresult);
        int mulresult=MyMath.mul(5,5);
        System.out.println(mulresult);
        int divresult=MyMath.div(75,3);
        System.out.println(divresult);
    }
}get

likesoop;2.写一个构造方法,以便简化初始化过程,如WuMingFen f1=new WuMingFen("牛肉",3,true);3.重载构造方法,使得初始化过程能够多样化WuMingFen f2=new WuMingFen("牛肉",2);4.使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的WuMingFen f3=newWuMingFen();5.写一个普通方法check()用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上 */ class WuMingFen{     String theMa;     int quality;     boolean likesoop;     public WuMingFen(String theMa,int quality,boolean likesoop){         //为了不代码的重复性,在构造器内相互调用         this(theMa,quality);         this.likesoop=likesoop;     }     public WuMingFen(String theMa,int quality){         this.theMa=theMa;         this.quality=quality;     }     public WuMingFen(){              }     public void check(){         System.out.println(theMa+"粉"+quality+likesoop);     } } public class Fen{     public static void main(String[] args){         WuMingFen f1=new WuMingFen("牛肉",3,true);         f1.check();         WuMingFen f2=new WuMingFen("牛肉",2);         f2.check();         WuMingFen f3=new WuMingFen("酸辣",2,true);             f3.check();         WuMingFen f4=new WuMingFen();         f4.theMa="酸辣";         f4.quality=5;         f4.likesoop=true;         f4.check();     } }

相关文章
相关标签/搜索