2017-11-08 2 views
-3

Ich habe Probleme mit meinem Programm mit switch-Anweisungen, es soll Buchstaben wie A in 4 drehen und es ist erforderlich, dass ich zwei verschiedene Klassen dafür habe. Einer, der alle Informationen enthält und ein anderer, der es erlaubt zu laufen.Wie verwendet man Buchstaben mit Switch Cases mit Java?

Hier ist meine abstrakte Klasse ...

public class LetterGrade{ 
    private int letter; 
    public LetterGrade(int grade) 
    { 
    letter=grade; 
    } 
    public void getLetterGrade()  
    { 

    String value; 
    switch(letter){ 
    case 'A': value="4"; break; 
    case 'B': value="3"; break; 
    case 'C': value="2"; break; 
    case 'D': value="1"; break; 
    case 'E': value="0"; break; 
    default: System.out.println("Error"); break; 
    } 
    } 
    } 

Hier ist meine Klasse Tester, die die wichtigsten Methoden hat ....

import java.util.Scanner; 
    public class LetterGradeTester 
    { 
    public static void main (String[]args) 
    { 

    Scanner in = new Scanner(System.in); 
    System.out.println("Please enter letter: "); 
    int input = in.nextInt(); 
    LetterGrade g = new LetterGrade(input); 
    g.getLetterGrade(); 
    } 
    } 

Wenn jemand mir helfen könnte, das wäre toll !

+1

'LetterGrade' eine Methode benötigen Sie – MadProgrammer

+0

Und das Gespräch zu' Integer.valueOf anrufen (...) 'ergibt keinen Sinn, wenn Sie nach Buchstaben und nicht nach Zahlen fragen. –

+0

@ErwinBolwidd was meinst du? Mein Code enthält nicht Integer.valueOf() – Annabeth2323

Antwort

-1

Beispiel

[UPDATED]

Main.class

public static class LetterGrade{ 
    public static int getLetterGrade(char letter) { 
     switch(letter){ 
      case 'A': return 4; 
      case 'B': return 3; 
      case 'C': return 2; 
      case 'D': return 1; 
      case 'E': return 0; 
      default: throw new NoSuchElementException(); 
     } 
    } 
} 

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    System.out.println("Please enter letter: "); 
    while (in.hasNext("[A-E]")) { 
     String msg = in.nextLine(); 
     char letter = msg.charAt(0); 
     int intLetter = LetterGrade.getLetterGrade(letter); 
     System.out.println(intLetter); 
    } 
} 
+0

erlaubt es mir, A zu setzen, aber es erlaubt mir nicht, es in 4 zu verwandeln – Annabeth2323

+0

Jetzt sagt es kann nicht Symbol für NoSuchElementException finden – Annabeth2323

+0

Importieren Sie Treffer? import java.util.NoSuchElementException; – crammeur

Verwandte Themen