JAVA第八次作业

1、定义一个点类Point,包含2个成员变量xy分 别表示xy坐标,2个构造器Point()Point(int x0,y0),以及一个movePointint dx,int dy)方法实 现点的位置移动,创建两个Point对象p1p2,分 别调用movePoint方法后,打印p1p2的坐标。[ 必作题] 课后作业

//主函数
package aaa;

public class a {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Point p1=new Point(5,5);
        Point p2=new Point(1,1);
        p1.showPoint();
        p2.showPoint();
        p1.movePoint(3, -3);
        p2.movePoint(-5, 5);
        p1.showPoint();
        p2.showPoint();
    }

}
//
package aaa;

public class Point {

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
    public Point() {
    }
    
    int x;
    int y;
    
    public void movePoint(int dx,int dy){
        this.x=this.x+dx;
        this.y=this.y+dy;
    }
    public void showPoint() 
    {
        System.out.println("坐标:"+"("+x+","+y+")");
    }
}

2、定义一个矩形类Rectangle:(知识点:对象的 创建和使用)[必做题]

 • 2.1 定义三个方法:getArea()求面积、getPer()求 周长,showAll()分别在控制台输出长、宽、面积 、周长。

• 2.2 2个属性:长length、宽width

• 2.3 通过构造方法Rectangle(int width, int length), 分别给两个属性赋值

 • 2.4 创建一个Rectangle对象,并输出相关信息 课后作业 

 

//主函数
package aaa;

public class a {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Rectangle s=new Rectangle(10,10);
        s.showAll();
    }

}
//
package aaa;

public class Rectangle {
    
    public Rectangle() {
    }
    public Rectangle(int length, int width) {
        this.length = length;
        this.width = width;
    }
    
    int length;
    int width;
    
    public int getArea() {
        return length*width;
    }
    public int getPer() 
    {
        return length*2+width*2;
    }
    public void showAll() 
    {
        System.out.println("长:"+length);
        System.out.println("宽:"+width);
        System.out.println("面积:"+getArea());
        System.out.println("周长:"+getPer());
    }
}

 

 

• 3、定义一个笔记本类,该类有颜色(char)和cpu 型号(int)两个属性。 [必做题]

 

• 3.1 无参和有参的两个构造方法;有参构造方法可 以在创建对象的同时为每个属性赋值; • 3.2 输出笔记本信息的方法

 

 • 3.3 然后编写一个测试类,测试笔记本类的各个 方法。 课后作业 

 

//主函数
package aaa;

public class a {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        text a=new text('白',0);
        a.showAll();
        
    }

}
//
package aaa;

public class text {
    
    public text() {
    }
    public text(char color, int cpu) {
        this.color = color;
        this.cpu = cpu;
    }
    
    char color;
    int cpu;
    public void showAll() {
        System.out.println("颜色:"+color);
        System.out.println("型号:"+cpu);
    }
}

 

 • 4、设计一个类Student,该类包括姓名、学号和成 绩。设计一个方法,按照成绩从高到低的顺序输 出姓名、学号和成绩信息。[选做题] 课后作业 

 

//主函数
package aaa;

import java.util.Scanner;

//设计一个类Student,该类包括姓名、学号和成 绩。
//设计一个方法,按照成绩从高到低的顺序输 出姓名、学号和成绩信息。
public class test {
    
    public static void setClass(Student[] test) 
    {
        Scanner input=new Scanner(System.in);
        for(int i=0;i<test.length;i++) 
        {
            System.out.println("请输入第"+(i+1)+"个学生的姓名:");
            String name=input.next();
            test[i].name=name;
            System.out.println("请输入第"+(i+1)+"个学生的学号:");
            String sio=input.next();
            test[i].sio=sio;
            System.out.println("请输入第"+(i+1)+"个学生的成绩:");
            double score=input.nextDouble();
            test[i].score=score;
        }
        showAll(test);
    }
    
    public static void showAll(Student[] test) 
    {
        int flag[]=new int[test.length];
        double temp=0;
        for(int i=0;i<test.length;i++) 
        {
            for(int j=0;j<test.length-i-1;j++) 
            {
                
                if(temp<test[j].score) 
                {
                    temp=test[j].score;
                    flag[i]=j;
                }
            }
        }
        for(int i:flag) {
            System.out.println("姓名:"+test[i].name);
            System.out.println("学号:"+test[i].sio);
            System.out.println("成绩:"+test[i].score);
        }
    }
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Student[] test=new Student[3];
        for(int i=0;i<test.length;i++) 
        {
            test[i]=new Student();
        }
        setClass(test);
    }

}

//
package aaa;

public class Student {

    String name;
    String sio;
    double score;
}

 

 • 5、定义两个类,描述如下: [必做题]

 

 • 5.1定义一个人类Person

 

• 5.1.1定义一个方法sayHello(),可以向对方发出问 候语“hello,my name is XXX”

 

 • 5.1.2有三个属性:名字、身高、体重

 

 • 5.2定义一个PersonCreate类:

 

• 5.2.1创建两个对象,分别是zhangsan33岁,1.73 lishi441.74

 

 • 5.2.2分别调用对象的sayHello()方法。 课后作业

 

//主函数
package aaa;

public class PersonCreate {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person P1=new Person();
        P1.hei=33;
        P1.lon=1.73;
        P1.name="zhangsan";    
        Person P2=new Person();
        P2.hei=44;
        P2.lon=1.74;
        P2.name="lishi";
        P1.sayHello();
        P2.sayHello();
    }

}
//
package aaa;

public class Person {

    
    public Person(String name, double lon, int hei) {
        this.name = name;
        this.lon = lon;
        this.hei = hei;
    }

    public Person() {
    }

    String name;
    double lon;
    int hei;
    
    
    
    public void sayHello() {
        System.out.println("hello,my name is "+name);
    }
}

 

  • 6、定义两个类,描述如下: [必做题]

 

• 6.1定义一个人类Person

 

 • 6.1.1定义一个方法sayHello(),可以向对方发出 问候语“hello,my name is XXX”

 

• 6.1.2有三个属性:名字、身高、体重

 

• 6.1.3通过构造方法,分别给三个属性赋值

 

• 6.2定义一个Constructor类:

 

 • 6.2.1创建两个对象,分别是zhangsan33岁, 1.73lishi441.74

 

 • 6.2.2分别调用对象的sayHello()方法。 课后作业 

 

 

//主函数
package aaa;

public class Constructor {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person p1=new Person("zhangsan",1.73,33);
        Person p2=new Person("lishi",1.74,44);
        p1.sayHello();
        p2.sayHello();
        
    }

}
//
package aaa;

public class Person {

    
    public Person(String name, double lon, int hei) {
        this.name = name;
        this.lon = lon;
        this.hei = hei;
    }

    public Person() {
    }

    String name;
    double lon;
    int hei;
    
    public void sayHello() {
        System.out.println("hello,my name is "+name);
    }
}

 

 • 7、定义一个汽车类Vehicle,要求如下:[选做题]

 

 • 7.1属性包括:汽车品牌brandString类型)、颜色 colorString类型)和速度speeddouble类型),并 且所有属性为私有。

 

• 7.2至少提供一个有参的构造方法(要求品牌和颜色可 以初始化为任意值,但速度的初始值必须为0)。

 

 • 7.3为私有属性提供访问器方法。注意:汽车品牌一旦 初始化之后不能修改。

 

• 7.4定义一个一般方法run(),用打印语句描述汽车奔跑 的功能

 

• 7.5定义测试类VehicleTest,在其main方法中创建一个 品牌为“benz”、颜色为“black”的汽车。

//主函数
package aaa;

public class VchicleTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Vehicle test=new Vehicle("benz","black",0);
        System.out.println("品牌:"+test.getBrand());
        System.out.println("颜色:"+test.getColor());
        System.out.println("速度:"+test.getSpeed());
        test.run();
    }

}
package aaa;

public class Vehicle {
    
    public Vehicle(String brand, String color, double speed) {
        this.brand = brand;
        this.color = color;
        this.speed = 0;
    }
    
    private String brand;
    private String color;
    private double speed;
    
    public String getBrand() {
        return brand;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
    public double getSpeed() {
        return speed;
    }
    public void setSpeed(double speed) {
        this.speed = speed;
    }
    public void run() {
        System.out.println("在奔跑");
    }
    
}

 

posted @ 2023-05-26 18:13  荽邊  阅读(35)  评论(0)    收藏  举报