(改善する)情報の永久記憶

パッケージcn.vip。

インポートしたjava.io.Serializable; 

パブリック クラスユーザーが実装Serializableを{
     プライベート文字列名を、
    プライベート int型の年齢;
    プライベート文字列の性別;
    プライベート文字列のコード;
    パブリックユーザー(){
         スーパー(); 
    } 
    パブリックユーザ(文字列名、int型の年齢、性別文字列、文字コード){
         スーパー()。
        この .nameの= 名前;
        この .age = 年齢;
        この .gender =性別;
        この .CODE = コード。
    } 
    パブリック文字列のgetName(){
         戻り名。
    } 
    公共 ボイドのsetName(文字列名){
         この .nameの= 名前。
    } 
    公共 INT getAge(){
         戻り年齢; 
    } 
    公共 ボイド setAge(int型の年齢){
         この .age = 年齢。
    } 
    パブリック文字列getGender(){
         戻り性別。
    } 
    公共 のボイドsetGender(文字列性別){
         この .gender = ジェンダー。
    } 
    パブリック文字列にgetCode(){
         戻りコードと 
    } 
    公共 ボイドSETCODE(文字コード){
         この .CODE = コード。
    } 
    
    
}
Userクラス
パッケージcn.vip。
輸入 java.io. * ;
輸入 java.utilの。* ;
パブリック クラスBackedGround {
     静的スキャナSC = 新しいスキャナ(System.in)。
    静的な地図<文字列、ユーザ>マップ= 新しい HashMapの<文字列、ユーザ> ();
    // 初始化信息
    静的{ 
        ユーザーU9 = 新しいユーザー( "nike1"、25、 "男"、 "123456" )。
        ユーザーU1 = 新しいユーザー( "ZT1"、20、 "男"、 "123456" ); 
        ユーザーU2 = 新しいですユーザ( "ZT2"、21、 "男"、 "123456" )。
        ユーザーU3 = 新しいユーザー( "zt3"、22、 "男"、 "123456" ); 
        ユーザーU4 = 新しいユーザー( "ZT4"、23、 "男"、 "123456" ); 
        ユーザーU5 = 新しいユーザー( "zt5"、24、 "男"、 "123456" ); 
        ユーザーU6 = 新しいユーザー( "zt6"、25、 "男"、 "123456" ); 
        ユーザーU7 = 新しいユーザー( "zt7"、26、 "男"、 "123456" ); 
        ユーザーU8 = 新しいユーザー( "zt8"、27、 "男"、 "123456" ); 
        map.put(u1.getName()、U1)。
        map.put(u2.getName()、U2)。
        map.put(u3.getName()、U1)。
        map.put(u4.getName()、U4)。
        map.put(u5.getName()、U5)。
        map.put(u6.getName()、U6)。
        map.put(u7.getName()、U7)。
        map.put(u8.getName()、U8)。
        map.put(u9.getName()、U9)。
    } 
    // 调用保存的方法来把用户信息存到电脑
    公共  ボイド(ユーザーのユーザー)に保存スローのIOExceptionは、IOException { 
        map.put(users.getName()、ユーザ)。
        // 序列化 
        のFileOutputStream fosの= 新しいのFileOutputStream( "F:\\ javaclasszjl \\ ABC" ); 
        ObjectOutputStreamのOOS = 新しいObjectOutputStreamの(FOS); 
        oos.writeObject(マップ); 
        oos.flush(); 
        oos.close(); 
        fos.close(); 
    } 
    // ユーザーのログイン
    公共 無効 Denglu()スローにIOException、ClassNotFoundExceptionが{ 
        のSystem.outは。 println( "******************************************" ); 
        システム。 out.printlnを( "自分のユーザー名を入力してください:" ); 
        文字列名 = sc.next(); 
        System.out.printlnは( "あなたのパスワードを入力してください:" ); 
        String型コード = sc.next();
         // デシリアライズセット
        FileInputStreamのFIS =新新FileInputStreamを( "F:\\ javaclasszjl \\ ABC" ); 
        ObjectInputStreamのOIS = 新しいObjectInputStreamの(FIS); 
        @SuppressWarnings( "未チェック" 
        地図 <文字列、ユーザ>マップ=(地図<文字列、ユーザ> )ois.readObject();
        もし(!map.get(名前)= ヌル){
             場合(code.equals(map.get(名).getCode())){ 
                System.out.printlnは( "登录成功、信息如下:" ); 
                System.out.println(String.valueOf(map.get(名))); 
            } { 
                するSystem.out.println( "密码错误" )。 
            } 
        } { 
            するSystem.out.printlnは( "アカウントが存在しない" ); 
        } 
        ois.close(); 
        fis.close(); 
    } 
    公共 ボイド zhuce()は、スローのIOException { 
        するSystem.out.println( " ":ユーザー名を入力してください); 
        文字列名 = sc.next(); 
        System.out.printlnはは( "年齢を入力してください: " );
         int型年齢= sc.nextInt(); 
        System.out.printlnはは( "性別を入力してください。 : " ); 
        文字列性別 = sc.next()。
        System.out.println( "あなたのパスワードを入力してください:" ); 
        String型コード = sc.next(); 
        ユーザーUN = 新しい新しいユーザー(名前、年齢、性別、コード); 
        map.put(名前、UN)
        のSystem.out .println( "正常に登録" ); 
        保存(UN); 
    } 
    
}
背景クラス
パッケージcn.vip。

インポートにjava.io.IOException; 

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列[]引数)がスローにIOException、ClassNotFoundExceptionが{ 
        BackedGround BG = 新しいBackedGround()。
        bg.zhuce(); 
        bg.Denglu(); 
    } 
}
テストカテゴリ

いくつかの問題がまだ未解決

おすすめ

転載: www.cnblogs.com/lev1/p/11299645.html