2005年7月26日
#
Java 語言的兩個基本的元素是類(class)和接口(interface),現在Tiger又引入了枚舉(enum).
其實枚舉也不能算是嚴格意義上的新元素,它也是一種類,是一種特殊的類.所有的枚舉都默認繼承自java.lang.Enum,如果所有的類都默認繼承自java.lang.Object一樣.在Java提供的枚舉中提供了比C/C++更多的功能,在這里可以像一般的類一樣定義方法和屬性,也可以有受限的構造函數(只能是private,且默認如此).
下面試寫了一個枚舉,以供參考.
package kb.enums;


public enum Temperature
{
VeryHigh(100.0), //!這樣使用構造函數
High,
LessComfortable,
Comfortable(25.0), //構造函數
MoreComfortable,
Low,
VeryLow(-15.0); //構造函數
private double degree;

Temperature( double d )
{ //private
degree = d;
}

Temperature()
{
degree = -1.0;
}

public static String getMemberList()
{
StringBuffer buf = new StringBuffer();

for( Temperature t : Temperature.values() )
{
buf.append( t.toString() + "\n" );
}
return buf.toString();
}
}

package kb.enums;


public class UseTemperature
{
private static StringBuffer out = new StringBuffer();

public static void main(String[] args)
{
Temperature temp = Temperature.High;
switch( temp )

{
case Comfortable:
out.append( Temperature.Comfortable.toString() + "\n" );
break;
default:
out.append( "Uncomfortable\n" );
break;
}
out.append( Temperature.getMemberList() );
System.out.print( out.toString() );
}

}

class complex


{
double real,imag;

complex ()
{}
complex(double r,double i)

{ real=r;
imag=i;
}
complex addition(complex x,complex y)

{ this.real=x.real+y.real;
this.imag=x.imag+y.imag;
return(this) ;
}

complex subtraction(complex x,complex y)

{ this.real=x.real-y.real;
this.imag=x.imag-y.imag;
return(this) ;
}

complex multiplication(complex x,complex y)

{ this.real=(x.real)*(y.real)-(x.imag)*(y.imag);
this.imag=(x.real)*(y.imag)+(x.imag)*(y.real);
return(this) ;
}

complex division(complex x,complex y)

{ this.real=((x.real)*(y.real)+(x.imag)*(y.imag))/((y.real)*(y.real)+(y.imag)*(y.imag));
this.imag=((x.imag)*(y.real)-(x.real)*(y.imag))/((y.real)*(y.real)+(y.imag)*(y.imag));
return(this) ;
}

}

public class C


{
public static void main(String args[])

{
complex c1=new complex(2,4);
complex c2=new complex(4,8);
complex c=new complex();
c.addition(c1,c2);
System.out.println("c=c1(2,4)+c2(4,8)"+" "+c.real+","+c.imag);
c.subtraction(c1,c2);
System.out.println("c=c1(2,4)-c2(4,8)"+" "+c.real+","+c.imag);
c.multiplication(c1,c2);
System.out.println("c=c1(2,4)*c2(4,8)"+" "+c.real+","+c.imag);
c.division(c1,c2);
System.out.println("c=c1(2,4)/c2(4,8)"+" "+c.real+","+c.imag);
}
}

name C.java
運行結果:c=c1(2,4)+c2(4,8) 6.0 ,12.0
c=c1(2,4)-c2(4,8) -2.0 ,-4.0
c=c1(2,4)*c2(4,8) -24.0,32.0
c=c1(2,4)/c2(4,8) 0.5,0.0
求助:為什么我在函數中用getReal,getImag分別返回各函數的實部和虛部實現不了?
摘要: 一共三個文件: ComplexException.java : Complex類所應的異常 Complex.java : Complex類...
閱讀全文
據我感覺好像進度很慢啊,這么久了連一篇學習日記都沒有寫,所以今天我提了個問題,看看誰做的好些。還有可以的話在后面簡要地說說各位的進度如何,老是沒反應我就覺得好像都跟我一樣呢
要求自己實現一個復數類,實現復數的各種必須操作以及其它合理的操作,并盡量保證具有易用性和可擴展性。盡量設計一個良好的類層次結構,有必要的注釋等。
請在7月29日早上8點鐘之前將寫好的代碼以新隨筆的形式發表(注明作者),小組之外的人可以直接跟在此文章后面,并在網站分類中選擇首頁原創Java技術區,以便讓更多的人評價。
看電子圖書看的人頭暈暈的,還是書看起來比較舒服。這么快就26號了,感覺好像什么都沒做。