• java对象与类


    1.设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

    源代码:

     1 package test;
     2 
     3 public class t1 {
     4         private String Name;//车主姓名
     5         private float Speed;//当前车速
     6         private float Degree;//当前方向盘转向角度
     7         public t1(String Name){
     8             this.Name = Name;
     9         }
    10         public t1(String name,float speed,float degree){
    11             this(name);
    12             this.Speed = speed;
    13             this.Degree = degree;
    14         }
    15         public String getName(){//车主姓名访问
    16             return Name;
    17         }
    18         public float getDegree(){//当前方向盘转向角度访问
    19             return Degree;
    20         }
    21         public float getSpeed(){//当前车速访问
    22             return Speed;
    23         }
    24         public void changeSpeed(float Speed){//提供改变当前的车速
    25             this.Speed = Speed;
    26         }
    27         public void stop(){//提供停车
    28             this.Speed = 0;
    29         }
    30     public static void main(String[] args){
    31         t1 car = new t1("小明:",200f,25f);
    32         System.out.println("车主姓名:" +car.getName());
    33         System.out.println("当前车速:"+car.getSpeed());
    34         System.out.println("当前方向盘转向角:"+car.getDegree());
    35         car.changeSpeed(80);
    36         System.out.println("在调用changeSpeed(80)后,车速变为:"+car.getSpeed());

    2.定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。定义主类,创建帐户类的对象,并完成相应操作。

    源代码:

     1 package test;
     2 import java.util.*;
     3 public class t3 {
     4     private String User;//账户
     5     private double Money;//当前余额
     6     private double add;//存款金额
     7     private double subtract;//取款金额
     8     public t3(String User){
     9         this.User = User;
    10     }
    11     public t3(String User,double Money){
    12         this(User);
    13         this.Money = Money;
    14     }
    15     public String getUser(){//用户账号访问
    16         return User;
    17     }
    18     public double getMoney(){//当前余额访问
    19         return Money;
    20     }
    21     public void addMoney(double Money){//存款
    22         this.Money+=Money;
    23     }
    24     public void subtractMoney(double Money){//取款
    25         this.Money-= Money;
    26     }
    27     public static void main(String[] args){
    28         t3 bank = new t3("12345678",34537.876);
    29         System.out.println("账号:" +bank.getUser());
    30         System.out.println("当前余额:"+bank.getMoney());
    31         Scanner in = new Scanner(System.in);
    32         System.out.println("输入存款金额");
    33         double add = in.nextDouble();
    34         System.out.println("输入取款金额");
    35         double sub = in.nextDouble();
    36         bank.addMoney(add);
    37         System.out.println("存款后,当前余额:" +bank.getMoney());
    38         bank.subtractMoney(sub);
    39         System.out.println("取款后,当前余额:"+bank.getMoney());
    40     }
    41 }

     3.

    设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。

    海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2

     1 package test;
     2 public class t3 {
     3     public static void main(String[] args) {
     4         Circle c = new Circle(4,"white");
     5         System.out.println(c.toString());
     6         Rectangle r = new Rectangle(4, 5, "white");
     7         System.out.println(r.toString());
     8         Triangle t = new Triangle(3,4,5,"black");
     9         System.out.println(t.toString());
    10     } }
    11 abstract class Shape{
    12     String color="red";
    13     public double area(){
    14         return -1;
    15     }
    16     public double perimeter(){
    17         return -1;
    18     }
    19     public String SetColor(String a){
    20         return color=a;
    21     }
    22 }
    23 class Circle extends Shape{
    24     private double bj;
    25     Circle(){
    26         bj=1;
    27     }
    28     Circle(double i,String col){
    29         bj=i;
    30         super.color=super.SetColor(col);
    31     }
    32     public void setBj(double b){
    33         this.bj = b;
    34     }
    35     public double area(){
    36         return Math.PI * bj * bj; }
    37     public double perimeter(){
    38         return Math.PI * bj * 2;
    39     }
    40     public String toString(){
    41         return( "圆的半径为" + this.bj+"圆的面积:"+this.area()+"圆的周长:"+this.perimeter());
    42     } }
    43 class Rectangle extends Shape{
    44     double h;
    45     double w;
    46     Rectangle(){
    47     }
    48     Rectangle(double hi,double wi,String col){
    49         h=hi;
    50         w=wi;
    51         super.color=super.SetColor(col);
    52     }
    53     public double area(){
    54         return h * w; }
    55     public double perimeter(){
    56         return (w+h)* 2;
    57     }
    58     public String toString(){
    59         return( "矩形的长为" + this.h+"矩形的宽为"+this.w+"矩形的面积:"+this.area()+"矩形的周长:"+this.perimeter());
    60     } }
    61 class Triangle extends Shape{
    62     double a;
    63     double b;
    64     double c;
    65     Triangle(){
    66     }
    67     Triangle(double aa,double bb,double cc,String col){
    68         a=aa;
    69         b=bb;
    70         c=cc;
    71         super.color=super.SetColor(col);
    72     }
    73     public double area(){
    74         double s =((a+b+c)/2);
    75         return Math.sqrt (s*(s-a)*(s-b)*(s-c));
    76     }
    77     public double perimeter(){
    78         return a+b+c;
    79     }
    80     public String toString(){
    81         return( "三角形的长为" + this.a+"三角形的宽为"+this.b+"三角形的斜边"+this.c+"三角形的面积:"+this.area()+"三角形的周长:"+this.perimeter());
    82     }
    83 }
  • 相关阅读:
    编码问题,编码到吐血
    dz验证码
    奇葩之mysql【四】找不到表了
    EntityFramework 使用Mysql数据库
    Create a custom output cache prodiver in asp.net4
    WPF一个很炫的控件
    yield grammar
    最大公约数的故事
    新人
    学习笔记 简单的amob A%B Problem
  • 原文地址:https://www.cnblogs.com/xgcl/p/13852567.html
Copyright © 2020-2023  润新知