-
November 1st, 2011, 07:15 AM
#1
Need help with College work Please
Ive been given the assignment to make a GUI for a user to enter test scores and it will tell the user how many test scores the average of the scores and the best test score entered with 3 buttons at the bottom labeled "Enter Score", "Clear" , and "Exit".
I'm having coders block so to speak of i cant figure out how i can have one text field that will hold any number of data entered.
Can you help me?
Thanks for any help!
-
November 1st, 2011, 07:39 AM
#2
Re: Need help with College work Please
If you want to display multiple lines of data you would be better of using a JTextArea.
-
November 1st, 2011, 07:54 AM
#3
Re: Need help with College work Please
how do i store the data entered tho? its will look like this
"Test Score: [ ]"(editable)
"Number of Scores:[ ]"(non-editable)
"Average Score:[ ]"(non-editable)
"Best Score:[ ]"(non-editable)
-
November 1st, 2011, 08:09 AM
#4
Re: Need help with College work Please
You shouldn't mix editable and non editable content in a single component it adds unnecessary complexity to your code and it confuses the user.
Have a separate field for entering scores or maybe use a JOptionPane to get the data and have it pop up when the user presses the Enter Score button.
-
November 1st, 2011, 08:20 AM
#5
Re: Need help with College work Please
Its not my choice its part of the assignment lol
theres no set number of how many scores will be entered so a separate field for each would be too much work.
-
November 1st, 2011, 08:37 AM
#6
Re: Need help with College work Please
You don't need a separate field for each score, you have just one input field which you enter a value into and press the Enter Score button. The score then gets added to your data and the field is wiped ready for the next score.
If you can't use a separate input field use a JOptionPane to get each score as I suggested earlier.
-
November 1st, 2011, 08:40 AM
#7
Re: Need help with College work Please
ok thanks if i run into any problems ill post here
-
November 2nd, 2011, 05:17 AM
#8
Re: Need help with College work Please
I think the problem DarkXBlaze is handling that data.
You could make a large integer array (maybe not more than 30?) and add the scores to a global integer 'index' and increment it each time the user presses submit. Later you could use loops to find best and average scores.
If you want to handle large amounts of data, you could use one of various data structures like linked lists or vectors. For even larger amounts, you might want to look up file I/O.
-
November 2nd, 2011, 05:28 AM
#9
Re: Need help with College work Please
You could make a large integer array (maybe not more than 30?) and add the scores to a global integer 'index' and increment it each time the user presses submit. Later you could use loops to find best and average scores.
Why? The project does not require you to keep all the entered scores just how many test scores, the average of the scores and the best test score entered. You can do that with 3 variables (eg numScores, totalOfScores, maxScore).
-
November 2nd, 2011, 06:20 AM
#10
Re: Need help with College work Please
Hmm. I guess you're right; you could continually update the above each time the user presses submit. Storing them would be rather pointless and a waste of resources.
-
November 2nd, 2011, 09:36 AM
#11
Re: Need help with College work Please
Lol I was like What??? For a min that's way more skilled than I would even know how to do atm lol
Nice name btw
-
November 7th, 2011, 01:01 PM
#12
Re: Need help with College work Please
hey i need some more help.
how do i find the max value entered?(see "bestScore = " its in Bold text)
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.util.*;
public class A5_assignment extends JFrame
{
private static final int WIDTH = 400;
private static final int HEIGHT = 300;
private JLabel numScoreL, totalOfScoreL, averageOfScoresL, maxScoreL;
private JTextField numScoreTF, totalOfScoreTF, averageOfScoresTF, maxScoreTF;
private JButton enterScoreB, clearB, exitB;
private CalculateButtonHandler cbHandler;
private ExitButtonHandler ebHandler;
private ClearButtonHandler cbClearHandler;
public A5_assignment()
{
numScoreL = new JLabel("Test Score :",SwingConstants.RIGHT);
totalOfScoreL = new JLabel("Number of Scores:",SwingConstants.RIGHT);
averageOfScoresL = new JLabel("Average Score:",SwingConstants.RIGHT);
maxScoreL = new JLabel("Best Score:",SwingConstants.RIGHT);
numScoreTF = new JTextField(10);
totalOfScoreTF = new JTextField(10);
totalOfScoreTF.setEditable(false);
averageOfScoresTF = new JTextField(10);
averageOfScoresTF.setEditable(false);
maxScoreTF = new JTextField(10);
maxScoreTF.setEditable(false);
enterScoreB = new JButton("Enter Score");
cbHandler = new CalculateButtonHandler();
enterScoreB.addActionListener(cbHandler);
clearB = new JButton("Clear");
cbClearHandler = new ClearButtonHandler();
clearB.addActionListener(cbClearHandler);
exitB = new JButton("exit");
ebHandler = new ExitButtonHandler();
exitB.addActionListener(ebHandler);
setTitle("Test Scores");
Container pane = getContentPane();
pane.setLayout(new GridLayout(5,2));
pane.add(numScoreL);
pane.add(numScoreTF);
pane.add(totalOfScoreL);
pane.add(totalOfScoreTF);
pane.add(averageOfScoresL);
pane.add(averageOfScoresTF);
pane.add(maxScoreL);
pane.add(maxScoreTF);
pane.add(enterScoreB);
pane.add(clearB);
pane.add(exitB);
setSize(WIDTH,HEIGHT);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private class CalculateButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
double score, numberOfScore, average, bestScore;
score = Double.parseDouble(numScoreTF.getText());
numberOfScore = score + 1;
average = score / numberOfScore;
bestScore = ;
totalOfScoreTF.setText(" " + area);
averageOfScoresTF.setText(" " + perimeter);
maxScoreTF.setText(" " + perimeter);
}
}
private class ClearButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
numScoreTF.setText("");
totalOfScoreTF.setText("");
averageOfScoresTF.setText("");
maxScoreTF.setText("");
}
}
private class ExitButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
public static void main(String[] args)
{
A5_assignment rectProg = new A5_assignment();
}
}
Last edited by DarkXBlaze; November 7th, 2011 at 01:04 PM.
-
November 7th, 2011, 01:20 PM
#13
Re: Need help with College work Please
As I said in an earlier post you need to maintain 3 values eg numScores, totalOfScores, maxScore. These must be instance variables of the A5_assignment class.
The logic is simple, everytime you submit a new value do the following:
- Increment numScores
- Add the entered value to totalOfScores
- If the entered value is greater than maxScores set maxScores to the entered value.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|