7(类和对象)编程(2)

2019-03-21 20:39

4 private int numberOfStudents; 5

6 public Course(String name) { 7 this.name = name; 8 } 9

10 public void addStudent(String student) { 11 students[numberOfStudents] = student; 12 numberOfStudents++; 13 } 14

15 public String[] getStudents() { 16 return students; 17 } 18

19 public int getNumberOfStudents() { 20 return numberOfStudents; 21 } 22

23 public String getName() { 24 return name; 25 } 26 }

数组的大小是固定的,对它进行改进,通过创建新的更大的数组并复制当前数组的内容来实现数组尺寸的自动增长。 7.9(整数类MyInteger)设计名为MyInteger的类,它包括: ? int 数据域value存储该对象表示的int值;

? 一个构造方法,当指定int值时,创建MyInteger对象; ? 一个get方法返回int的值;

? 静态方法isEven(),isOdd()和isPrime(),如果value的值为偶数,奇数,或素数时返回true; ? 静态方法

isEven(MyInteger),isOdd(MyInteger)和

isPrime(MyInteger),如果指定的值为偶数,奇数,或素数时返回true; ? equals(int)和equals(MyInteger)方法,如果该对象的值与指定的值

相等,返回true;

? 静态方法parseInt(int)将字符串转变成int值; 编写测试程序运行该类中的所有方法。

7.10改写以下Loan类,增加两个计算月支付额和总支付额的静态方法,如下所示:

1 public class Loan {

2 private double annualInterestRate; 3 private int numberOfYears; 4 private double loanAmount;

5 private java.util.Date loanDate; 6

7 /** Default constructor */ 8 public Loan() {

9 this(7.5, 30, 100000); 10 } 11

12 /** Construct a loan with specified annual interest rate, 13 number of years and loan amount 14 */

15 public Loan(double annualInterestRate, int numberOfYears, 16 double loanAmount) {

17 this.annualInterestRate = annualInterestRate; 18 this.numberOfYears = numberOfYears; 19 this.loanAmount = loanAmount; 20 loanDate = new java.util.Date(); 21 } 22

23 /** Return annualInterestRate */

24 public double getAnnualInterestRate() { 25 return annualInterestRate; 26 } 27

28 /** Set a new annualInterestRate */

29 public void setAnnualInterestRate(double annualInterestRate) { 30 this.annualInterestRate = annualInterestRate; 31 } 32

33 /** Return numberOfYears */

34 public int getNumberOfYears() {

35 return numberOfYears; 36 } 37

38 /** Set a new numberOfYears */

39 public void setNumberOfYears(int numberOfYears) { 40 this.numberOfYears = numberOfYears; 41 } 42

43 /** Return loanAmount */

44 public double getLoanAmount() { 45 return loanAmount; 46 } 47

48 /** Set a newloanAmount */

49 public void setLoanAmount(double loanAmount) { 50 this.loanAmount = loanAmount; 51 } 52

53 /** Find monthly payment */

54 public double getMonthlyPayment() {

55 double monthlyInterestRate = annualInterestRate / 1200; 56 return loanAmount * monthlyInterestRate / (1 -

57 (Math.pow(1 / (1 + monthlyInterestRate), numberOfYears * 12))); 58 } 59

60 /** Find total payment */

61 public double getTotalPayment() {

62 return getMonthlyPayment() * numberOfYears * 12; 63 } 64

65 /** Return loan date */

66 public java.util.Date getLoanDate() { 67 return loanDate; 68 } 69 }

public static double monthlyPayment(double annualInterestRate,

int numOfYears, double loanAmount)

public static double totalPayment(double annualInterestRate, int numOfYears, double loanAmount)

编写测试程序运行所有方法。

7.11(平面点的类MyPoint)设计名为MyPoint的类表示一个具有x坐标和y坐标的点,该类包括: ? 两个数据域x和y表示坐标; ? 无参构造方法创建点(0,0);

? 一个构造方法根据指定坐标创建一个点; ? 两个get方法分别得到数据域x和y;

? distance方法返回MyPoint类型的两个点之间的距离;

? distance方法返回从这一点到另一个指定x和y坐标的点之间的距离;

编写测试程序创建两个点(0,0)和(10,30.5),并显示它们之间的距离。 7.12(显示素数因子)编写程序,读入一个正整数并按降序显示它的所有素数因子。例如,输入的整数为120,显示的素数因子为5,3,2,2,2。使用

StackOfIntegers

类存储因子(如2,2,2,3,5),提取并按

倒序显示这些因子。

1 public class StackOfIntegers { 2 private int[] elements; 3 private int size;

4 public static final int DEFAULT_CAPACITY = 16; 5

6 /** Construct a stack with the default capacity 16 */ 7 public StackOfIntegers() { 8 this(DEFAULT_CAPACITY);

9 } 10

11 /** Construct a stack with the specified maximum capacity */ 12 public StackOfIntegers(int capacity) { 13 elements = new int[capacity]; 14 } 15

16 /** Push a new integer into the top of the stack */ 17 public int push(int value) {

18 if (size >= elements.length) {

19 int[] temp = new int[elements.length * 2];

20 System.arraycopy(elements, 0, temp, 0, elements.length); 21 elements = temp; 22 } 23

24 return elements[size++] = value; 25 } 26

27 /** Return and remove the top element from the stack */ 28 public int pop() {

29 return elements[——size]; 30 } 31

32 /** Return the top element from the stack */ 33 public int peek() {

34 return elements[size - 1]; 35 } 36

37 /** Test whether the stack is empty */ 38 public boolean empty() { 39 return size == 0; 40 } 41

42 /** Return the number of elements in the stack */ 43 public int getSize() { 44 return size; 45 } 46 }

7.13(显示素数)编写程序,按降序显示所有小于120的素数。使用

StackOfIntegers

类存储这些素数(如2,3,5,7…)提取并按倒序显示

它们。


7(类和对象)编程(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:农药登记试验良好试验室考核管理办法-农业部

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: