java 类 继承 圆_Java的对象与类,继承

这篇博客介绍了Java中如何建立和使用类,包括汽车类(描述汽车属性和操作)和银行账户类(包含账户信息和交易操作)。此外,还探讨了继承的概念,通过Shape抽象类派生出Circle、Rectangle和Triangle子类,实现了多态性和几何图形的面积和周长计算。
摘要由CSDN通过智能技术生成

Java的对象与类,继承

题目1.Java类的建立与使用

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

package test;

public class t1 {

private String Name;//车主姓名

private float Speed;//当前车速

private float Degree;//当前方向盘转向角度

public t1(String Name){

this.Name = Name;

}

public t1(String name,float speed,float degree){

this(name);

this.Speed = speed;

this.Degree = degree;

}

public String getName(){//车主姓名访问

return Name;

}

public float getDegree(){//当前方向盘转向角度访问

return Degree;

}

public float getSpeed(){//当前车速访问

return Speed;

}

public void changeSpeed(float Speed){//提供改变当前的车速

this.Speed = Speed;

}

public void stop(){//提供停车

this.Speed = 0;

}

public static void main(String[] args){

t1 car = new t1("小明:",200f,25f);

System.out.println("车主姓名:" +car.getName());

System.out.println("当前车速:"+car.getSpeed());

}

}

题目2.Java类的建立与使用

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

package test;

import java.util.*;

public class t2 {

private String User;//账户

private double Money;//当前余额

private double add;//存款金额

private double subtract;//取款金额

public t2(String User){

this.User = User;

}

public t2(String User,double Money){

this(User);

this.Money = Money;

}

public String getUser(){//用户账号访问

return User;

}

public double getMoney(){//当前余额访问

return Money;

}

public void addMoney(double Money){//存款

this.Money+=Money;

}

public void subtractMoney(double Money){//取款

this.Money-= Money;

}

public static void main(String[] args){

t2 bank = new t2("12345678",34537.876);

System.out.println("账号:" +bank.getUser());

System.out.println("当前余额:"+bank.getMoney());

Scanner in = new Scanner(System.in);

System.out.println("输入存款金额");

double add = in.nextDouble();

System.out.println("输入取款金额");

double sub = in.nextDouble();

bank.addMoney(add);

System.out.println("存款后,当前余额:" +bank.getMoney());

bank.subtractMoney(sub);

System.out.println("取款后,当前余额:"+bank.getMoney());

}

}

题目3. 继承

设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2。

package test;

public class t3 {

public static void main(String[] args) {

Circle c = new Circle(4,"white");

System.out.println(c.toString());

Rectangle r = new Rectangle(4, 5, "white");

System.out.println(r.toString());

Triangle t = new Triangle(3,4,5,"black");

System.out.println(t.toString());

} }

abstract class Shape{

String color="red";

public double area(){

return -1;

}

public double perimeter(){

return -1;

}

public String SetColor(String a){

return color=a;

}

}

class Circle extends Shape{

private double bj;

Circle(){

bj=1;

}

Circle(double i,String col){

bj=i;

super.color=super.SetColor(col);

}

public void setBj(double b){

this.bj = b;

}

public double area(){

return Math.PI * bj * bj; }

public double perimeter(){

return Math.PI * bj * 2;

}

public String toString(){

return( "圆的半径为" + this.bj+"圆的面积:"+this.area()+"圆的周长:"+this.perimeter());

} }

class Rectangle extends Shape{

double h;

double w;

Rectangle(){

}

Rectangle(double hi,double wi,String col){

h=hi;

w=wi;

super.color=super.SetColor(col);

}

public double area(){

return h * w; }

public double perimeter(){

return (w+h)* 2;

}

public String toString(){

return( "矩形的长为" + this.h+"矩形的宽为"+this.w+"矩形的面积:"+this.area()+"矩形的周长:"+this.perimeter());

} }

class Triangle extends Shape{

double a;

double b;

double c;

Triangle(){

}

Triangle(double aa,double bb,double cc,String col){

a=aa;

b=bb;

c=cc;

super.color=super.SetColor(col);

}

public double area(){

double s =((a+b+c)/2);

return Math.sqrt (s*(s-a)*(s-b)*(s-c));

}

public double perimeter(){

return a+b+c;

}

public String toString(){

return( "三角形的长为" + this.a+"三角形的宽为"+this.b+"三角形的斜边"+this.c+"三角形的面积:"+this.area()+"三角形的周长:"+this.perimeter());

}

}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java程序设计》课程实验指导书程序代码(答案)(实验二),个人原创,仅供参考与交流。 希望多多交流,共同进步! 实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。(闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.编写Java Appet 程序打印 “水仙花” 数 (它的个、十、百位数字的立方的和等于该数本身,如:153=1^3+5^3+3^3) 3. 编写Java Application程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成示,并给出解决办法。 四、实验步骤: 1.编写主; 2.在static public void main(String[ ] args)方法中加入实现要求功能的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)编写Java Applet, 在public void paint(Graphics g)方法中加入实现要求功能的代码, 主要步骤是:从100到1000循环,判断每个数是否符合水仙花数的特点,是则输出之。 3.编译运行程序,观察输出结果是否正确。 五、自做实验 1. 输出100以内的所有素数。 提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数。 2.将所输入之正整数,以二、八、十六进制表示出来。 提示: 可写三个方法分别计算输出二、八、十六进制表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值