[Java] switch case Methode, Zahlen Zählen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von pizzaM4N, 7. Februar 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. Februar 2010
    switch case Methode, Zahlen Zählen

    Hallo,
    ich soll als ein 10 mal 6 großes Feld mit Zufallszahlen von 1 bis 6 mit der switch/case methode abzählen und darstellen lassen, wie oft jede Zahl vorhanden ist. Leider habe ich nur wenig Ahnung davon. Es wäre nett, wenn Ihr mir erklären könnt, wie das in etwa funktioniert.
    Dieser Code wurde uns vorgegeben:

    Code:
    import java.util.Arrays;
    import java.util.Random;
    
    public class feldtweiD {
    
     // Anfang Methoden
    public static void main (String[]args){
     //Anfang
     int schranke = 6; //deklariert die Schranke
     int spaltenzahl = 10; //deklariert die Spaltenanzahl
     int zeilenzahl = 6; //deklariert die Zeilenanzahl
     int zeile = 0;
     int spalte = 0;
     int[][] matrix = new int[spaltenzahl][zeilenzahl];
     Random test = new Random();
     int gesucht = 8;
     boolean gefunden = false;
     int anzahlVergleiche = 0;
     //Ende
     //Feldelemente zuweisen
     for(zeile =0;zeile <zeilenzahl;zeile++){
     for(spalte = 0; spalte <spaltenzahl; spalte++){
     matrix[spalte][zeile]= Math.abs(test.nextInt())%schranke+1;
     }
     }
     
     //Feldelemente ausgeben
     for(zeile =0;zeile <zeilenzahl;zeile++){
     for(spalte = 0; spalte <spaltenzahl; spalte++){
     System.out.print("\t" +matrix[spalte][zeile]);
     }
     System.out.println();
     }
     //Label für break
    }
     // Ende Methoden
    }
     
  2. 7. Februar 2010
    AW: switch case Methode, Zahlen Zählen

    Code:
    import java.util.Arrays;
    import java.util.Random;
    
    public class feldtweiD {
    
     // Anfang Methoden
    public static void main (String[]args){
     //Anfang
     int schranke = 6; //deklariert die Schranke
     int spaltenzahl = 10; //deklariert die Spaltenanzahl
     int zeilenzahl = 6; //deklariert die Zeilenanzahl
     int zeile = 0;
     int spalte = 0;
     int[][] matrix = new int[spaltenzahl][zeilenzahl];
     Random test = new Random();
     
     
     int eins = 0,zwei = 0,drei = 0,vier = 0,fünf = 0,sechs = 0; //Zähl Variablen
     
     //Ende
     //Feldelemente zuweisen
     for(zeile =0;zeile <zeilenzahl;zeile++){
     for(spalte = 0; spalte <spaltenzahl; spalte++){
    
     int zahl = Math.abs(test.nextInt())%schranke+1; //Zahl muss in Variable um per Switch verarbeitet zu werden
     
     switch(zahl) {
     case 1: //Wenn die Zahl 1 ist dann
     eins = eins +1; //Steigt der Zähler für Einsen um 1
     break; //Fertig
     case 2: //Wenn die Zahl 2 ist dann
     zwei = zwei +1; //Steigt der Zähler für Zweien um 1
     break; //Fertig
     case 3: //Und so weiter..
     drei = drei +1;
     break;
     case 4:
     vier = vier +1;
     break;
     case 5:
     fünf = fünf + 1;
     break;
     case 6:
     sechs = sechs +1;
     break;
     }
     
     matrix[spalte][zeile]= zahl;
     }
     }
     
     
     //Feldelemente ausgeben
     for(zeile =0;zeile <zeilenzahl;zeile++){
     for(spalte = 0; spalte <spaltenzahl; spalte++){
     System.out.print("\t"+matrix[spalte][zeile]);
     }
     System.out.println();
     }
     //Label für break
     
    
    //Zähl Variablen ausgeben.
     System.out.println("Einsen: "+eins);
     System.out.println("Zweien: "+zwei);
     System.out.println("Dreien: "+drei);
     System.out.println("Vieren: "+vier);
     System.out.println("Fünfen: "+fünf);
     System.out.println("Sechsen: "+sechs);
     
    }
    
     // Ende Methoden
    
    
    }
    
    Du überprüfst einfach unmittelbar nachdem die Zahl generiert wurde, was für eine es ist und erhöhst den dementsprechenden Zähler um 1.

    Switch läuft in etwa so ab:

    Gucke in Variable {

    Ist der Inhalt = 1:

    //Anweisungen

    Ist der Inhalt = 2:

    //Anweisungen

    Ist der Inhalt = 3:

    //Anweisungen

    }


    Hier steht nochmal mehr zu Switch:

    Java - switch Anweisung - VirtualUniversity
     
  3. 8. Februar 2010
    AW: switch case Methode, Zahlen Zählen

    muss den switch-case drinnen sein?

    ich würde das so machen:
    Code:
    import java.util.Random;
    
    public class Programm
    {
     /**
     * entrypoint
     *
     * @param String[] args
     * @void
     */
     public static void main(String[] args)
     {
     int schranke = 6,
     spaltenzahl = 10,
     zeilenzahl = 6;
     
     int[][] matrix = new int[zeilenzahl][spaltenzahl];
     Random rand = new Random();
     int[] integers = { 0, 0, 0, 0, 0, 0 };
     
     //fill matrix
     for(int z = 0; z < zeilenzahl; ++z) {
     for(int s = 0; s < spaltenzahl; ++s) {
     int zahl = Math.abs(rand.nextInt()) % schranke;
     ++integers[zahl];
     matrix[z][s] = ++zahl;
     } 
     }
     
     //print matrix
     for(int z = 0; z < zeilenzahl; ++z) {
     for(int s = 0; s < spaltenzahl; ++s) {
     System.out.println(new StringBuilder()
     .append("zeile: ").append(z)
     .append(", spalte: ").append(s)
     .append(" -> ").append(matrix[z][s])
     .toString());
     }
     }
     
     //spacer
     System.out.println("\n");
     
     //print stats
     for(int i = 0; i < schranke; ++i) {
     System.out.println(new StringBuilder()
     .append(i + 1).append(" = ")
     .append(integers[i]).append("x")
     .toString());
     }
     }
    }
     
  4. 14. Februar 2010
    AW: switch case Methode, Zahlen Zählen

    danke für die schnelle Hilfe,
    die Lösung von Alex² war das was ich gesucht habe
     
  5. 18. Februar 2010
    AW: switch case Methode, Zahlen Zählen

    [X] erledigt

    ~ closed
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.