please I'd like to know how to make jtxtScore[6] show letter grade, It calculates grade average but I want to it to show letter grade too.``
public class ScoreGUI extends JFrame implements ActionListener{
final int SIZE=6;
JButton jbtnCalculate = new JButton ("Calculate");
JTextField [] jtxtScore = new JTextField[SIZE];
JTextField [] jtxtWeight = new JTextField[SIZE];
JLabel [] jlblModuleName = new JLabel[SIZE];
JPanel scorePanel = new JPanel();
JPanel buttonPanel = new JPanel();
double []scores = new double[SIZE];
double []weights = new double[SIZE];
public ScoreGUI(){
jlblModuleName [0]= new JLabel("Assignments");
jlblModuleName [1] = new JLabel("Mid term");
jlblModuleName [2]= new JLabel("final exam");
jlblModuleName [3]= new JLabel("Final Project");
jlblModuleName [4]= new JLabel("grade average");
jlblModuleName [5]= new JLabel("letter grade");
scorePanel.setBackground(Color.gray);
scorePanel.setLayout(new GridLayout(7,3,5,9));
for(int i=0; i<SIZE;i++){
scorePanel.add(jlblModuleName[i]);
jtxtScore[i] = new JTextField(8);
scorePanel.add(jtxtScore[i]);
jtxtWeight[i] = new JTextField(8);
scorePanel.add(jtxtWeight[i]);
//add(jtxtWeight[i]);
}
buttonPanel.setBackground(Color.CYAN);
jbtnCalculate.addActionListener(this);
buttonPanel.add(jbtnCalculate);
add(scorePanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
setVisible(true);
setSize(500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public double calculateScore(double[]score, double[]weight){
double grade=0.0;
grade = (score[0]*weight[0]+score[1]*weight[1]+score[2]*weight[2]+score[3]*weight[3]);
return grade;
}
public char calculateLetter(char grade){
char letter='N';
if(grade>=90)
letter = 'A';
else if(grade>=80)
letter = 'B';
else if(grade>=70)
letter = 'C';
else if(grade>=60)
letter = 'D';
else if(grade<50)
letter = 'F';
return letter;
}
public void actionPerformed(ActionEvent e){
for(int i=0;i<4;i++){
scores[i] = Double.parseDouble(jtxtScore[i].getText());
weights[i] = Double.parseDouble(jtxtWeight[i].getText());
}
jtxtScore[4].setText(calculateScore(scores,weights)+"");
jtxtScore[5].setText(calculateLetter) // what do I have to do here?
}
}
`