I'd like to think it's simple but I just can't understand how to do this :( I've tried both == and equals so far but i got neither of them to work. Here's a small programming calculating grades for the swedish highschool system (so just ignore the swedish and look at the string comparisons. The problem here being that the statistics function variables are still set to 0 at the end of the program.
import javax.swing.*;
public class Uppgift1 {
private String[] subjects = {"Matematik","Svenska","Engelska","Idrott",
"Bild","Fysik","Biologi","Kemi","Historia","Geografi",
"Samhällskunskap","Religionskunskap"};`
private String[] grades = new String[subjects.length]; // Lika många element som ämnen
public void setGrades() {
for(int i = 0; i < grades.length; i++){
grades[i] = JOptionPane.showInputDialog("Ange betyg i " + subjects[i] + " (IG, G, VG, MVG)");
}
}
public void statistics() {
int ig = 0;
int g = 0;
int vg = 0;
int mvg = 0;
int points = 0;
for(int i = 0; i < grades.length; i++){
if(grades[i].equals("IG")){
ig++;
}
else if(grades[i] == "G"){
g++;
points += 10;
}
else if(grades[i] == "VG"){
vg++;
points += 15;
}
else if(grades[i] == "MVG"){
mvg++;
points += 20;
}
}
String output = new String("BETYGSSTATISTIK\n");
output += "IG: " + ig + "\n";
output += "G: " + g + "\n";
output += "VG: " + vg + "\n";
output += "MVG: " + mvg + "\n";
output += "Betygspoäng: " + points;
JOptionPane.showMessageDialog(null, output);
}
public static void main(String[] args) {
Uppgift1 prog = new Uppgift1();
prog.setGrades();
prog.statistics();
}
}