隨筆-2  評論-0  文章-0  trackbacks-0

          轉自: http://www.j2medev.com/code/j2se/language/200602/1343.html

          import?
          java.io.FileInputStream;
          import? java.io.FileOutputStream;
          import? java.io.ObjectInputStream;
          import? java.io.ObjectOutputStream;
          import? java.io.Serializable;

          public?class? CardReader? {
          ?? public?static? void? main ( String []? args )?{
          ???? Card3?card?=? new? Card3 ( 12 ,?Card3.SPADES ) ;
          ???? System.out.println ( "Card?to?write?is:?"? +?card ) ;

          ???? try? {
          ?????? FileOutputStream?out?=? new? FileOutputStream ( "card.out" ) ;
          ?????? ObjectOutputStream?oos?=? new? ObjectOutputStream ( out ) ;
          ?????? oos.writeObject ( card ) ;
          ?????? oos.flush () ;
          ???? }? catch? ( Exception?e )?{
          ?????? System.out.println ( "Problem?serializing:?"? +?e ) ;
          ???? }

          ???? Card3?acard?=? null ;

          ???? try? {
          ?????? FileInputStream?in?=? new? FileInputStream ( "card.out" ) ;
          ?????? ObjectInputStream?ois?=? new? ObjectInputStream ( in ) ;
          ?????? acard?=? ( Card3 )?( ois.readObject ()) ;
          ???? }? catch? ( Exception?e )?{
          ?????? System.out.println ( "Problem?serializing:?"? +?e ) ;
          ???? }

          ???? System.out.println ( "Card?read?is:?"? +?acard ) ;

          ?? }
          }

          class? Card3? implements? Serializable? {
          ?? private? int? suit?=?UNASSIGNED;

          ?? private? int? number?=?UNASSIGNED;

          ?? public?final?static? int? UNASSIGNED?=?- 1 ;

          ?? public?final?static? int? DIAMONDS?=? 1 ;

          ?? public?final?static? int? CLUBS?=? 2 ;

          ?? public?final?static? int? HEARTS?=? 3 ;

          ?? public?final?static? int? SPADES?=? 4 ;

          ?? public?final?static? int? ACE?=? 1 ;

          ?? public?final?static? int? KING?=? 13 ;

          ?? public? Card3 ( int? number,? int? suit )?{
          ???? if? ( isValidNumber ( number ))?{
          ?????? this .number?=?number;
          ???? }? else? {
          ?????? //Error
          ???? }

          ???? if? ( isValidSuit ( suit ))?{
          ?????? this .suit?=?suit;
          ???? }? else? {
          ?????? //Error
          ???? }
          ?? }

          ?? public? int? getSuit ()?{
          ???? return? suit;
          ?? }

          ?? public? int? getNumber ()?{
          ???? return? number;
          ?? }

          ?? public?static? boolean? isValidNumber ( int? number )?{
          ???? if? ( number?>=?ACE?&&?number?<=?KING )?{
          ?????? return?true ;
          ???? }? else? {
          ?????? return?false ;
          ???? }
          ?? }

          ?? public?static? boolean? isValidSuit ( int? suit )?{
          ???? if? ( suit?>=?DIAMONDS?&&?suit?<=?SPADES )?{
          ?????? return?true ;
          ???? }? else? {
          ?????? return?false ;
          ???? }
          ?? }

          ?? public? boolean? equals ( Object?obj )?{
          ???? if? ( obj? instanceof? Card3 )?{
          ?????? Card3?card?=? ( Card3 )? obj;
          ?????? if? ( card.getNumber ()? ==? this .number?&&?card.getSuit ()? ==? this .suit )?{
          ???????? return?true ;
          ?????? }? else? {
          ???????? return?false ;
          ?????? }
          ???? }? else? {
          ?????? return?false ;
          ???? }
          ?? }

          ?? public? int? hashCode ()?{
          ???? return? number?*?suit;
          ?? }

          ?? public? String?toString ()?{
          ???? return? numberToString ( this .number )? +? "?of?"? +?suitToString ( this .suit ) ;
          ?? }

          ?? public?static? String?numberToString ( int? number )?{
          ???? String?result?=? "" ;
          ???? switch? ( number )?{
          ???? case? ACE:
          ?????? result?=? "Ace" ;
          ?????? break ;
          ???? case? 2 :
          ?????? result?=? "Two" ;
          ?????? break ;
          ???? case? 3 :
          ?????? result?=? "Three" ;
          ?????? break ;
          ???? case? 4 :
          ?????? result?=? "Four" ;
          ?????? break ;
          ???? case? 5 :
          ?????? result?=? "Five" ;
          ?????? break ;
          ???? case? 6 :
          ?????? result?=? "Six" ;
          ?????? break ;
          ???? case? 7 :
          ?????? result?=? "Seven" ;
          ?????? break ;
          ???? case? 8 :
          ?????? result?=? "Eight" ;
          ?????? break ;
          ???? case? 9 :
          ?????? result?=? "Nine" ;
          ?????? break ;
          ???? case? 10 :
          ?????? result?=? "Ten" ;
          ?????? break ;
          ???? case? 11 :
          ?????? result?=? "Jack" ;
          ?????? break ;
          ???? case? 12 :
          ?????? result?=? "Queen" ;
          ?????? break ;
          ???? case? KING:
          ?????? result?=? "King" ;
          ?????? break ;
          ???? case? UNASSIGNED:
          ?????? result?=? "Invalid?Number" ;
          ?????? break ;
          ???? }
          ???? return? result;
          ?? }

          ?? public?static? String?suitToString ( int? suit )?{
          ???? String?result?=? "" ;
          ???? switch? ( suit )?{
          ???? case? DIAMONDS:
          ?????? result?=? "Diamonds" ;
          ?????? break ;
          ???? case? CLUBS:
          ?????? result?=? "Clubs" ;
          ?????? break ;
          ???? case? HEARTS:
          ?????? result?=? "Hearts" ;
          ?????? break ;
          ???? case? SPADES:
          ?????? result?=? "Spades" ;
          ?????? break ;
          ???? case? UNASSIGNED:
          ?????? result?=? "Invalid?Suit" ;
          ?????? break ;
          ???? }
          ???? return? result;
          ?? }
          }

          posted on 2006-11-09 12:22 a3mao 閱讀(396) 評論(0)  編輯  收藏 所屬分類: java

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乃东县| 奎屯市| 西宁市| 历史| 赤峰市| 德庆县| 城步| 肃南| 满洲里市| 罗城| 长武县| 乡城县| 乌兰察布市| 永定县| 星座| 驻马店市| 庆安县| 宜都市| 巴青县| 安徽省| 清远市| 五大连池市| 峨眉山市| 明水县| 西充县| 三江| 沾化县| 大理市| 昌吉市| 昌乐县| 阳新县| 华阴市| 留坝县| 威宁| 木里| 朝阳区| 綦江县| 石阡县| 新乡县| 信丰县| 旅游|