(1)编写3个基本类: Triangle, Ladder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”类; 1个主类: Compute,负责计算每个形状的面积或周长。
具体要求:
Triangle 定义3个变量:边长;和1个求周长的方法。
Ladder 定义3个变量:上底,下底和高;定义1个求面积的方法。
(3)编写一个封装学生的类Student,能够描述学生的“学号”、“ 姓名”、“性别”、“年龄”、“平均成绩”等基本属性,及获取属性、修改属性的方法和打印学生基本信息的print()方法。要求生成两个学生对象,在构造方法中进行初始化,并打印每个学生的基本信息。
附:可在main函数中调用输入函数,此处为方便均未调用。此外类名为方便也并未使用题中规定,读者可自行修正。
具体要求:
Triangle 定义3个变量:边长;和1个求周长的方法。
Ladder 定义3个变量:上底,下底和高;定义1个求面积的方法。
Circle 定义1个变量:半径;定义2个方法:求面积、求周长。
3个基本类都要定义相应的构造方法,对变量进行初始化。
解:建立三个类,分别表示三角形,梯形,以及圆形,三角形中定义方法求取周长,以及获取三边长,以此类推分别定义梯形和圆形。
代码如下:
package test3;
class Triangle{
double a,b,c;
public Triangle() {
}
public Triangle(double a, double b, double c){
this.a=a;
this.b=b;
this.c=c;
}
public double C(){
return a+b+c;
}
}
class Ladder{
double up,down,height;
public Ladder(){
}
public Ladder(double up, double down, double height){
this.up=up;
this.down=down;
this.height=height;
}
public double Area()
{
return (up+down)*height/2;
}
}
class Circle{
double radius;
public Circle(){
}
public Circle(double radius){
this.radius=radius;
}
public double Area(){
return Math.PI*radius*radius;
}
public double C(){
return Math.PI*radius*2.;
}
}
public class test3_a{
public static void main(String[] args) {
Circle cc=new Circle(3);
System.out.println(cc.Area());
System.out.println(cc.C());
Ladder ld=new Ladder(1,2,3);
System.out.println(ld.Area());
Triangle tr=new Triangle(1,2,3);
System.out.println(tr.C());
}
}
(2)编写一个账户类Account,它包括:一个名为id的int型账号码属性,一个名为balance的double型的账号余额属性,定义一个类型为java.util.Date的属性dateCreated,用于记录账号的创建日期。同时,定义无参的构造函数,一个名为withDraw的方法从账号提取特定数目的金额,一个名为deposit的方法向账号存入特定数目的金额。请编写测试程序,测试各个方法。
package test3;
import java.util.Calendar;
import java.util.Date;
class Account{
int id;
double balance;
Date dateCreated;
public Account(){
}
public Account(int id, double balance){
this.id=id;
this.balance=balance;
this.dateCreated=(Date) Calendar.getInstance().getTime();
}
public boolean withDraw(double money){
if(this.balance>money){
this.balance-=money;
return true;
}
return false;
}
public void deposit(double money){
this.balance+=money;
}
public double getBalance(){
return this.balance;
}
}
public class test4_b {
public static void main(String[] args) {
Account ac1=new Account(12,100.);
boolean result =ac1.withDraw(1000);
if(result)
System.out.println("Success");
else {
System.out.println("Fail");
ac1.deposit(1000);
System.out.println(ac1.getBalance());
}
}
}<strong>
</strong>
(3)编写一个封装学生的类Student,能够描述学生的“学号”、“ 姓名”、“性别”、“年龄”、“平均成绩”等基本属性,及获取属性、修改属性的方法和打印学生基本信息的print()方法。要求生成两个学生对象,在构造方法中进行初始化,并打印每个学生的基本信息。
package test3;
class Student{
private int id;
private String name;
private char sex;
private int age;
private double averageScore;
public double getAverageScore(){
return this.averageScore;
}
public void setAverageScore(double score){
this.averageScore=score;
}
public Student(){
}
public Student(int id, String name, char sex, int age, double score){
this.id=id;
this.name=name;
this.sex=sex;
this.age=age;
this.averageScore=score;
}
public void print()
{
System.out.println(id+" "+name+" "+sex+" "+age+" "+averageScore);
}
}
public class test3_c {
public static void main(String[] args) {
Student st1=new Student(1,"zhang",'f',23,90);
st1.print();
st1.setAverageScore(80);
st1.print();
}
}<strong>
</strong>
附:可在main函数中调用输入函数,此处为方便均未调用。此外类名为方便也并未使用题中规定,读者可自行修正。