Note that there are some explanatory texts on larger screens.

plurals
  1. POI am having trouble with serialization, i need to implement it in java
    text
    copied!<p>I have created a program, it is a guessing game but i am having problems learning this new method to serialize it. I have everything already done i just need to make it so the program can save and load open through the method of serialization. I am trying to serialize the "game" part or the play() method of the program so when the next time it loads it willl load the old information.</p> <pre><code> import javax.swing.JOptionPane; import java.io.Serializable; import java.io.ObjectOutputStream; import java.io.FileOutputStream; import java.io.IOException; //Node class class Node { //instance variables public String questionText; public Node leftChild; public Node rightChild; public void displayText() { System.out.println(questionText); } } //Tree class class Tree implements Serializable { private Node root; //constructor public Tree() { root = new Node(); root.leftChild = new Node(); root.rightChild = new Node(); root.questionText = "Does it live on land?"; root.leftChild.questionText ="bear"; // left side is Yes, right side is No root.rightChild.questionText = "parrot"; } public void instruction() { JOptionPane.showMessageDialog(null, "Think of an animal, I will try to guess it, answer yes or no"); } public void play() { Node current = root; Node parent = current; boolean isLeftChild = true; while(true) { parent = current; int response = JOptionPane.showConfirmDialog(null,current.questionText ); //code here for yes if (response == JOptionPane.YES_OPTION) { current = current.leftChild; isLeftChild=true; } //code here for no else if (response == JOptionPane.NO_OPTION) { current = current.rightChild; isLeftChild = false; } if (current.leftChild == null &amp;&amp; current.rightChild == null) { int secondQ = JOptionPane.showConfirmDialog(null, "Is your animal a " + current.questionText + "?"); if (secondQ == JOptionPane.YES_OPTION) { JOptionPane.showMessageDialog(null,"I Guessed your animal!"); return; } else if (secondQ == JOptionPane.NO_OPTION) { Node nodeOne = new Node(); Node nodeTwo = new Node(); nodeOne.questionText = JOptionPane.showInputDialog("Write a question that differentiates your animal from the animal I guessed, it would be yes for your animal"); nodeTwo.questionText = JOptionPane.showInputDialog("What is this animal?"); nodeOne.rightChild = current; nodeOne.leftChild = nodeTwo; // parent.leftChild = nodeOne or parent.rightChild = nodeOne if(isLeftChild == false) { parent.rightChild = nodeOne; System.out.println("right child"); } else { parent.leftChild = nodeOne; System.out.println("left Child"); } return; } } } } public void preOrder(Node localRoot) { if(localRoot != null) { System.out.print(localRoot.questionText + " "); preOrder(localRoot.leftChild); preOrder(localRoot.rightChild); } } public Node getRoot(){ return root; } } public class GuessTheAnimal { public static void main(String[] args) { Tree animal = new Tree(); animal.instruction(); animal.play(); animal.play(); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload