Comment faire pour enregistrer les variables d'objet après la fermeture de mon programme?
Je suis en train d'apprendre le Java et la programmation orientée objet par la création d'un monopole de banquier programme. Cependant, je voudrais quelques variables d'objet pour être sauvé après que j'ai quitter le programme, de sorte que, après avoir joué la moitié d'un jeu monopoly je peux quitter mon programme, puis de le redémarrer avec toutes les soldes enregistrés.
Je devine que cela exige une sorte de base de données?
Voici une partie de mon code, je suis en train d'enregistrer "l'équilibre" de la variable pour l'ensemble de mes objets (les joueurs) après que j'ai sortie de mon programme.
public class Monopoly {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//TODO code application logic here
//creates the users (name classes)
players player1 = new players();
players player2 = new players();
players player3 = new players();
players player4 = new players();
while (true) {
player1.balance=player1.finalbalance;
player2.balance=player2.finalbalance;
player3.balance=player3.finalbalance;
player4.balance=player4.finalbalance;
Une base de données est un outil pour cela. Mais tout persistance support de travail. Vous pouvez enregistrer l'état d'un fichier XML, un fichier texte, une base de données, rien de ce qui existe après l'application a été fermée. Comme pour comment, c'est un assez vaste sujet. Je recommande de trouver un tutoriel sur l'utilisation d'une base de données avec Java et de l'apprentissage.
docs.oracle.com/javase/tutorial/essential/io/objectstreams.html
docs.oracle.com/javase/tutorial/essential/io/objectstreams.html
OriginalL'auteur user3133300 | 2014-01-04
Vous devez vous connecter pour publier un commentaire.
Je voudrais juste sérialiser et désérialiser après la reprise de votre jeu. Je pense que c'est le meilleur moyen. Ici vous pouvez trouver la façon de le faire. http://www.tutorialspoint.com/java/java_serialization.htm
OriginalL'auteur Evan Sharry
Peut-être que je n'ai pas vraiment comprendre votre question, mais si vous avez besoin d'une méthode pour attraper la sortie avant la sortie du programme (CTRL-C par exemple), vous pouvez utiliser une "sortie crochet", utile aussi pour une connexion sans
voir
Exemple utile d'une fermeture à crochet en Java?
OriginalL'auteur venergiac
Bien que vous pouvez bien sûr utiliser une base de données, ce serait tout à fait exagéré pour un simple hors jeu. Dans ce cas, il serait plus courantes pour enregistrer le jeu à l'état d'un fichier ("sauvegarde").
Par l'utilisation de la classe ObjectOutputStream, vous pouvez écrire des objets dans un fichier. Il convertit les objets dans un format qui peut ensuite être lues à la classe ObjectInputStream .
OriginalL'auteur Philipp
Vous devez l'enregistrer dans un fichier quelque part, le seul moyen infaillible de transmettre de l'information entre les programmes. Vous aurez besoin de décider d'un format pour enregistrer votre fichier. Regarder quelques tutoriels pour la lecture/écriture de fichiers, je suis sûr que ça va aider.
Il est facile de travailler avec des fichiers.
Ne vous inquiétez pas. La gestion des fichiers n'est pas si difficile. Mais si vous voulez vous vraiment, vraiment profond et tromper avec la mémoire de registre il n'y a vraiment pas de moyen plus facile. Les programmes sont autonomes, et la seule chose qui reste à l'extérieur d'eux est ce qu'ils changent sur l'ordinateur, et les fichiers sont la seule véritable façon de modifier les informations sur l'ordinateur
OriginalL'auteur Maurdekye