Why is this code not working? I created the two different Java files. One of the
ID: 3696946 • Letter: W
Question
Why is this code not working? I created the two different Java files. One of them named Test.java and the other GuessgameTest.java. On Test.java, it keeps displaying the error :
----jGRASP exec: javac -g GuessgameTest.java
Test.java:138: error: reached end of file while parsing
}
^
1 error
----jGRASP wedge2: exit code for process is 1.
----jGRASP: operation complete.
Please Help!
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.SwingUtilities;
public class Test extends JFrame
{
private int GuessOld = 0;
private int number; // application's number
private JTextField guessInputJTextField; // user input field
private JLabel prompt1JLabel; // first line of instruction
private JLabel prompt2JLabel; // secon line of instructions
private JLabel messageJLabel; // displays message of game status
private JButton newGameJButton; // creates new game
private Color background; // background color of application
// set up GUI and initialize values
public Test()
{
super( "Guessing Game" );
setLayout(new FlowLayout());
background = Color.LIGHT_GRAY; // set background to light gray
prompt1JLabel = new JLabel( "I have a number between 1 and 1000." ); // describe game
add(prompt1JLabel);
prompt2JLabel = new JLabel( "Can you guess my number? Enter your Guess:" ); // prompt user
add(prompt2JLabel);
guessInputJTextField = new JTextField( 5 ); // to enter guesses
guessInputJTextField.addActionListener( new GuessHandler( ) );
add(guessInputJTextField);
messageJLabel = new JLabel( "" );
add(messageJLabel);
newGameJButton = new JButton( "New Game" ); // create "New Game" button
add ( newGameJButton ); // add newGame button to JFrame
Random generator = new Random();
int number = generator.nextInt(1001);//create random number
newGameJButton.addActionListener(
new ActionListener() // anonymous inner class
{
public void actionPerformed( ActionEvent e )
{
guessInputJTextField.setText("");
Random generator = new Random();
messageJLabel.setText("");
guessInputJTextField.setEditable(true);
} // end method actionPerformed
} // end anonymous inner class
); // end call to addActionListener
theGame(); // start new game
} // end GuessGameFrame constructor
// choose a new random number
public void theGame()
{
} // end method theGame
// change background color
public void paint( Graphics g )
{
super.paint( g );
getContentPane().setBackground( background ); // set background
} // end method paint
class GuessHandler implements ActionListener{
public void actionPerformed( ActionEvent e )
{
int Guess;
Guess = Integer.parseInt(guessInputJTextField.getText());
if ( Math.abs( number - Guess ) < Math.abs( number - GuessOld) ){
// Hotter
getContentPane().setBackground(Color.RED);
}
else{
// Colder
getContentPane().setBackground(Color.BLUE);
}
GuessOld = Guess;
if ( Guess >= number )
{
messageJLabel.setText( "Too High." );
SwingUtilities.updateComponentTreeUI(messageJLabel);
}
if( Guess <= number )
{
messageJLabel.setText( "Too Low." );
SwingUtilities.updateComponentTreeUI(messageJLabel);
} // end if
if ( Guess < number + 1 && Guess > number-1 ) // guess is too low
{
messageJLabel.setText( "Correct!" );
SwingUtilities.updateComponentTreeUI(messageJLabel);
guessInputJTextField.setEditable(false);
}
}
}
Getting error.. Add the section that makes the program run...
import javax.swing.JFrame;
public class GuessgameTest{
public static void main(String args[]) throws Exception{
Test guessgame = new Test();
guessgame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
guessgame.setSize(550, 150);
guessgame.setVisible(true);
}
}
Explanation / Answer
It is because you have forgotten one closing curly braces ( ' } ') . Please make sure that you add one in the required place. I have checked it on ideone and found that one closing curly brace is expected. Hope this solves your problem
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.