1. 程式人生 > >java學習之實驗三

java學習之實驗三

(1)編寫3個基本類: Triangle, Ladder和Circle,分別用來刻畫“三角形”、“梯形”和“圓形”類; 1個主類: Compute,負責計算每個形狀的面積或周長。
具體要求:
 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函式中呼叫輸入函式,此處為方便均未呼叫。此外類名為方便也並未使用題中規定,讀者可自行修正。