2016-03-29 14 views
0

アカウントクラスを作成しました。今後の使用のためにユーザーの詳細を永久保存したいと考えていました。たとえば、ユーザーがアカウントを作成すると、将来の残高などの情報を使用できるようにしたいと考えています。 私を助けてください!ユーザー入力を永久に保存するにはどうすればよいですか?

package mini_project; 

import java.util.Random; 
import javax.swing.JOptionPane; 


public class Account { 

private String firstName, surname; 
private short transactionNumber; 
String input; 
private int startingAmount; 

public Account(String first, String sur, int amount){ 

    firstName = first; 
    surname = sur; 
    startingAmount = amount; 
} 

public void setFirstName(){ 

    input = JOptionPane.showInputDialog("What Is Your First Name?").toUpperCase(); 
    firstName = input; 
} 

public String getFirstName(){ 

    return firstName; 
} 

public void setSurname(){ 

input = JOptionPane.showInputDialog("What Is Your Surname?").toUpperCase (); 
    surname = input; 
} 

public String getSurname(){ 

    return surname; 
} 

public void setTransactionNumber(){ 

    Random rand = new Random(); 
    int randomNumber = rand.nextInt(1000)+1; 
    transactionNumber = (short) randomNumber; 
} 

public short getTransactionNumber(){ 

    return transactionNumber; 
} 

public void setShares(){ 

    input = JOptionPane.showInputDialog("How Many Shares Do You Currently Own?"); 
    startingAmount = Integer.parseInt(input); 
} 

public int getShares(){ 

    return startingAmount; 
} 
} 
+1

おそらく、ユーザーを格納するデータベースが必要です。データベースを実際に使用できない場合は、アカウントオブジェクトをバイナリファイルにシリアル化することができますが、それは非常に良い/スケーラブルな解決策ではありません。 –

+0

私はこれをどのように行うことができるかに関するコードを表示できますか? –

+0

@ShannonDavidsonこれは便利な例です:http://www.tutorialspoint.com/java/java_serialization.htm – xdola

答えて

0

アカウントクラスを常にシリアル化可能にすることができます。これにより、オブジェクトのインスタンス(この場合は個別の勘定科目オブジェクト)を保存してインポートすることができます。これらのインスタンスはテキストファイルに保存できます。また、プログラムでセキュリティを強化する必要がある場合は、暗号化することもできます。

+0

ありがとうございました –

+0

問題はありません@ShannonDavidson – Bautista

-1

データを永久に保存するには、データベースを使用する必要があります。 インスタンス変数を静的にすることができます。あなたがプログラムを終了しない限り永久に保存されます。

private static String firstName, surname; 
private static short transactionNumber; 
private static int startingAmount; 

次に、セッターとゲッターを取得します。しかし、セッターとゲッターの機能で静的な単語を削除します。インスタンス変数には静的変数のみが必要です。

+0

少し助けてくれてありがとう、私はあなたがテキストファイルにエントリを保存し、そのテキストファイルから読み取ることができるようにする方法があったと思います –

+0

あなたはちょうどそれを自分で書く必要があります – Mshnik

関連する問題