當前位置:編程學習大全網 - 編程語言 - JAVA編程,在線等答案

JAVA編程,在線等答案

下面是妳要的代碼,並且為妳提供了單元測試代碼.

package test;

import junit.framework.TestCase;

public class Jtest extends TestCase {

Number fraction;

Number complex;

@Override

protected void setUp() throws Exception {

fraction=new Fraction(5,3);

complex=new Complex(3,4);

}

@Override

protected void tearDown() throws Exception {

fraction=null;

complex=null;

}

public void testFractionCompare(){

assertEquals(0.6, fraction.getValue());

}

public void testFractionToString(){

assertEquals(1, fraction.compare(new Fraction(6,3)));

}

public void testFractionGetValue(){

assertEquals("3/5", fraction.toString());

}

public void testComplexCompare(){

assertEquals(5.0, complex.getValue());

}

public void testComplexToString(){

assertEquals(-1, complex.compare(new Complex(7,8)));

}

public void testComplexGetValue(){

assertEquals("3+4i", complex.toString());

}

}

interface Number{

int compare(Number n); //比較自己和另外壹個抽象數n的大小,返回1表示前者大,0表示相等,-1表示自己比n小

double getValue(); //取得自己代表的實際值

String toString(); //輸出自己內部存儲的數

}

class Fraction implements Number{

private int denominator;

private int numerator;

public Fraction() {

super();

}

public Fraction(int denominator, int numerator) {

super();

this.denominator = denominator;

this.numerator = numerator;

}

public int compare(Number n) {

double result=this.getValue()-n.getValue();

return result==0?0:(result>0?1:-1);

}

public double getValue() {

return ((double)numerator)/denominator;

}

public int getDenominator() {

return denominator;

}

public void setDenominator(int denominator) {

if(denominator==0){

throw new ArithmeticException("The denominator can't be zero.");

}else{

this.denominator = denominator;

}

}

public int getNumerator() {

return numerator;

}

public void setNumerator(int numerator) {

this.numerator = numerator;

}

@Override

public String toString() {

return this.getNumerator()+"/"+this.getDenominator();

}

}

class Complex implements Number{

int actualNumber;

int imaginaryNumber;

public Complex() {

super();

}

public Complex(int actualNumber, int imaginaryNumber) {

super();

this.actualNumber = actualNumber;

this.imaginaryNumber = imaginaryNumber;

}

public int compare(Number n) {

double result=this.getValue()-n.getValue();

return result==0?0:(result>0?1:-1);

}

public double getValue() {

return Math.sqrt(actualNumber*actualNumber+imaginaryNumber*imaginaryNumber);

}

public int getActualNumber() {

return actualNumber;

}

public void setActualNumber(int actualNumber) {

this.actualNumber = actualNumber;

}

public int getImaginaryNumber() {

return imaginaryNumber;

}

public void setImaginaryNumber(int imaginaryNumber) {

this.imaginaryNumber = imaginaryNumber;

}

@Override

public String toString() {

return this.getActualNumber()+"+"+this.getImaginaryNumber()+"i";

}

}

  • 上一篇:CE國際軟件工程師課程是怎樣的啊(ce是什麽工程師)
  • 下一篇:0x0012e6cc
  • copyright 2024編程學習大全網