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

          轉(zhuǎn)自: 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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宣威市| 青冈县| 平昌县| 临潭县| 昌江| 崇义县| 抚宁县| 大埔县| 和硕县| 砀山县| 吉林省| 临桂县| 东莞市| 蕉岭县| 淮阳县| 宿州市| 南宁市| 寿宁县| 勃利县| 綦江县| 安徽省| 库车县| 安多县| 汤阴县| 房产| 昭平县| 尉犁县| 宁化县| 九龙县| 北安市| 招远市| 昭平县| 重庆市| 镇坪县| 石家庄市| 桦甸市| 多伦县| 佳木斯市| 上栗县| 锡林郭勒盟| 平山县|