2016-11-13, 16:32
  #1
Medlem
Tv strng-arrayer, en med skolmnen och en med betyg.

I setGrades() lagras betyget i grades-arrayen

I statistics() stts hur mnga IG, G, osv. och sen utrkning av snittet

Problemet r att den gr aldrig in i if-satserna fr IG, G eller VG.. allt blir MVG (else)

Varfr blir aldrig if-villkoren fr IG, G och VG sant?

Kod:
package laboration12;

import javax.swing.JOptionPane;

public class 
GradeReport {
    private 
String[] subjects = { "Matematik""Svenska""Engelska""Idrott""Bild""Fysik""Biologi""Kemi",
            
"Historia""Geografi""Samhllskunskap""Religionskunskap" };
    private 
String[] grades = new String[subjects.length];

    public 
void setGrades() {
        for(
int i grades.length i++) {
            
grades[i] = JOptionPane.showInputDialog("Ange betyg i " subjects[i]);
        }
    }

    public 
void statistics() {
        
int countIG 0;
        
int countG 0;
        
int countVG 0;
        
int countMVG 0
        for(
int i grades.length i++) {
            if(
grades[i] == "IG") {
                
countIG++;
            }
            else if(
grades[i] == "G") {
                
countG++;
            }
            else if(
grades[i] == "VG") {
                
countVG++;
            }
            else {
                
countMVG++;
            }
        }
        
double snitt = ((((countIG 0) + (countG 10) + (countVG 15) + (countMVG 20)))) / 12;
        
JOptionPane.showMessageDialog(null"Betygsstatistik:\n"
                
"IG: " countIG "\n"
                
"G: " countG "\n"
                
"VG: " countVG "\n"
                
"MVG: " countMVG "\n"
                
"Betygssnitt: " snitt);
    }

    public static 
void main(String[] args) {
        
GradeReport prog = new GradeReport();
        
prog.setGrades();
        
prog.statistics();
    }

Citera
2016-11-13, 16:41
  #2
Medlem
autismus-maximuss avatar
Citat:
Ursprungligen postat av Backhandsmash
Tv strng-arrayer, en med skolmnen och en med betyg.

I setGrades() lagras betyget i grades-arrayen

I statistics() stts hur mnga IG, G, osv. och sen utrkning av snittet

Problemet r att den gr aldrig in i if-satserna fr IG, G eller VG.. allt blir MVG (else)

Varfr blir aldrig if-villkoren fr IG, G och VG sant?

Kod:
package laboration12;

import javax.swing.JOptionPane;

public class 
GradeReport {
    private 
String[] subjects = { "Matematik""Svenska""Engelska""Idrott""Bild""Fysik""Biologi""Kemi",
            
"Historia""Geografi""Samhllskunskap""Religionskunskap" };
    private 
String[] grades = new String[subjects.length];

    public 
void setGrades() {
        for(
int i grades.length i++) {
            
grades[i] = JOptionPane.showInputDialog("Ange betyg i " subjects[i]);
        }
    }

    public 
void statistics() {
        
int countIG 0;
        
int countG 0;
        
int countVG 0;
        
int countMVG 0
        for(
int i grades.length i++) {
            if(
grades[i] == "IG") {
                
countIG++;
            }else if(
grades[i] == "G") {
                
countG++;
            }else if(
grades[i] == "VG") {
                
countVG++;
            }else {
                
countMVG++;
            }
        }
        
double snitt = ((((countIG 0) + (countG 10) + (countVG 15) + (countMVG 20)))) / 12;
        
JOptionPane.showMessageDialog(null"Betygsstatistik:\n"
                
"IG: " countIG "\n"
                
"G: " countG "\n"
                
"VG: " countVG "\n"
                
"MVG: " countMVG "\n"
                
"Betygssnitt: " snitt);
    }

    public static 
void main(String[] args) {
        
GradeReport prog = new GradeReport();
        
prog.setGrades();
        
prog.statistics();
    }

Fungerar detta?

Ber om urskt fr stkigt format p posten, jag ndrade innanfr de citerade PHP taggarna
Citera
2016-11-13, 17:22
  #3
Medlem
Anvnd funktionen .equalsIgnoreCase("IG") etc. fr att jmfra strngar.
I Java r strngar objekt, inte vrden, det du kollar r referenserna till objekten, inte dess vrden.

http://stackoverflow.com/questions/5...trings-in-java
Citera
2016-11-13, 17:22
  #4
Medlem
Du ska inte jmfra strngar s. Kr p equals eller equalsIgnoreCase.
http://stackoverflow.com/questions/5...trings-in-java
Citera
2016-11-13, 17:38
  #5
Medlem
Tack fr hjlpen och upplysningen, nu fungerar det
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in