Java的初步使用

根据UML图,定义抽象账单类Bill、子类水费账单类WaterBill

package Bill;
import java.util.Scanner;//花费时间四十,包含查询如何使用继承
public class BillWaterBill {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double volume =input.nextDouble();
//      Bill bill = new Bill();
//      bill.getVolume(volume);
        WaterBill waterbill = new WaterBill(volume);
        waterbill.getBill();

    }

}


class Bill{
    double volume;//使用量
    public Bill(){}//这里使用public 还不确定
    public Bill(double volume){
        this.volume = volume;
    }
    double getVolume(double volume) {
        this.volume = volume;
        return volume;
    }
    double setVolume(double volume) {
        return volume;
    }
    public double getBill() {//计算bill
        return this.volume;
    }

}

class WaterBill extends Bill{//能够继承public 以及protected
    private double[] rate = {2.28,2.5,3.9};
    WaterBill(){//系统会自动调用子类无参构造函数
    }
    WaterBill(double volume){//uml图中,+,-,#分别表示 public ,private,protected
        this.volume = volume;
    }
//  UML图包括三个部分
//  1:类名
//2:类的属性,属性是指类的成员变量,UML属性的表示方式为:可见性 名称:类型 [ = 缺省值 ]
//可见性就是私有公有保护
//  名称就是属性名,用一个字符串表示
//  类型就是数据类型,也可以是用户自定义的名称
//  缺省值,是一个可选项,就是属性的初始值
//  object 对象
//  3:类的操作:操作是类的任意一个势力对象都可以使用的行为,是类的成员方法,UML规定操作的表示方法为:可见性 名称(参数列表) [ : 返回类型]

    double[] getRate() {
        return this.rate;
    }
    void setRate(double[] rate) {
        this.rate = rate;
    }
    public double getBill() {
        double bill = 0;
        if(this.volume>260) {
            bill = (this.volume - 260) * this.rate[2] + 80 * rate[1] + 180 * rate[0];
        }
        else if(this.volume > 180) {
            bill = (this.volume - 180) * rate[1] + 180 * rate[0];
        }
        else bill = (this.volume) * rate[0];


        System.out.println("水费为"+bill);
        return bill;
    }

}

求圆的面积

package Circle;
import java.util.Scanner;
class Circle{
    private double radius;
    Circle(){
}
    Circle(double radius){
        this.radius = radius ;
    }
    double getRadius() {
        return radius ;
    }
    void setRadius(double speed) {
        this.radius = speed;
    }
    double getArea() {
        return radius*radius*3.14;//结果与答案相差几位小数 应该是估读的问题 但修改为3.14一样有相差
    }

}

//声明静态变量-- 让一个类的所有实例共享数据
//定义方法:在定义前加static
//使用private,定义方法还有变量,达到数据封装的效果
//UML类图中,使用“-”号表示,private
//英语好好学,计算机专业很多的内容需要用到英语文献

//对象数组初始化方法
//Circle[] circleArray = new Circle[10];
//for(int i = 0;i<10;i++)
//  circleArray[i] = new Circle();

public class CircleArea {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//      System.out.println("hello world");
//      System.out.println(c.length);
//      sum(createCircleArray());

//      String a;//定义字符串
//      a = "new string";
//      System.out.println(a);
//      resolved 决定
        String newString = "welcome to java";
//      String newString = new String("welcome to Java");
        System.out.println(newString);
//      字符串在Java中是不可变的,所以定义之后是不能改变的,就是
        newString = "hello world!";
        System.out.println(newString);
        System.out.println(newString.length());

        //
        printCircleArray(createCircleArray());
    }



//  Create class of circle

//返回一个数组大小为三
    public static Circle[]  createCircleArray() {   //创建圆类型数组
        Circle [] circle = new Circle[3];
        Scanner input = new Scanner(System.in);
        for(int x1 = 0 ;x1<circle.length;x1++) {
            double x2 = input.nextDouble();
//          System.out.println(circle[x1]);


            circle[x1] = new Circle();  //数组初始化了,指针不为零,但其中的对象还没有初始化
            circle[x1].setRadius(x2);

        }
        return circle;
    }

    public static double sum(Circle[] circles) {
        double sum1 = 0;
        for(int x = 0 ;x<circles.length;x++)

            sum1+=circles[x].getArea();
        return sum1;
    }

    public static void printCircleArray(Circle[] circles) {
            System.out.println("半径              面积");
            for(int x = 0;x<circles.length;x++)
                System.out.println(circles[x].getRadius()+"             "+circles[x].getArea());
            System.out.println();
            System.out.println("总面积为"+sum(circles));
    }
}

了解父类,子类的调用关系

package Person;
import java.util.Scanner;
public class PersonEmplyee {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);
        String name1 = input.nextLine();
        String address1 = input.nextLine();//想要知道怎么通过空格来读取
        String phone1 = input.nextLine();
        String email1 = input.nextLine();

        Person person = new Person(name1,address1,phone1,email1);

        String name2 = input.nextLine();
        String address2 = input.nextLine();
        String phone2 = input.nextLine();
        String email2 = input.nextLine();
        String office2 = input.nextLine();
        int salary2 = input.nextInt();

        Employee employee = new Employee(name2,address2,phone2,email2,office2,salary2);

        String name3 = input.nextLine();
        String address3 =input.nextLine();
        String phone3 = input.nextLine();
        String email3 = input.nextLine();
        String office3 = input.nextLine();
        int salary3 = input.nextInt();
        int work3 = input.nextInt();
        String title3 = input.nextLine();

        Faculty faculty = new Faculty(name3,address3,phone3,email3,office3,salary3,work3,title3);

        person.toString();
        employee.toString();
        faculty.toString();
    }

}
class Person{
    private String name,address,phone,email;
    Person(){}
    Person(String name,String address,String phone,String email){
        this.name = name;
        this.address = address;
        this.phone = phone;
        this.email =email;
    }
    public String toString() {
        System.out.println("姓名"+this.name);
        System.out.println("地址"+this.address);
        System.out.println("电话号码"+this.phone);
        System.out.println("电子邮件"+this.email);

        return "skdjf";
    }
}

class Employee extends Person{
    private String office;
    private int salary;
    Employee(){}
    Employee(String name,String address,String phone,String email,String office,int salary){
        super(name,address,phone,email);//调用父类的构造方法
        this.office = office;
        this.salary = salary;
    }
    public String toString() {
        super.toString();//使用super调用父类的方法
        System.out.println("办公室"+this.office);
        System.out.println("工资"+this.salary);

        System.out.println();
        return "aksjfd";
    }
}


class Faculty extends Employee {
    public int TEACHINGASSISTANT = 1;
    public int LECTERER = 2;
    public int ASSOCIATE = 4;
    public int PROFESSOR = 4;
    private int workingDayAndTime;
    private String title;

    Faculty(){}
    Faculty(String name,String address,String phone,String email,String office,int salary,int workingDayAndTime,String title){
        super(name,address,phone,email,office,salary);
        this.workingDayAndTime = workingDayAndTime;
        this.title = title;
    }
    public String toString () {
        super.toString();
        System.out.println("办公时间"+this.workingDayAndTime);
        System.out.println("职称"+this.title);
        return "sldfj";
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值