Java – die neusten Beiträge

Java Supermarkt Kasse?

Ich würde gerne in einem Java Supermarkt der per Konsole gesteuert wird, eine Kasse einbauen, die je nachdem was man kaufen möchte, alle Preise zusammen rechnet und den Endpreis in einer Verabscheidung wie "Das macht dann bitte x €, vielen Dank für ihren Besuch und bis zum nächsten Mal." Ausserdem gibt es einen Bug mit dem ich momenntan etwas überfordert bin (hab grad erst angefange mit Java) der COde ist wie folgt :

import java.util.Scanner;

public class Supermarkt {

Scanner in = new Scanner (System.in);

boolean Wasser;
boolean Softdrinks;
boolean Milsch;
boolean Alkohol;
boolean Saft;
boolean Waschmittel;
boolean Rasierer;
boolean Zahnpflege;
boolean Shampoo;
boolean Klopapier;
boolean Fleisch;
boolean Käse;
boolean Brot;   

public void Begrüssung (){
    System.out.println("Hallo, wie kann ich ihnen helfen?");
    this.listeObergruppe();
}

public void listeObergruppe(){
    Scanner in = new Scanner (System.in);
    System.out.println("1 : Lebensmittel \n2 : Hygiene \n3 : Getränke \n4 : Dekoration \n5 : Kasse");

    int listeObergruppe;
    listeObergruppe = in.nextInt();
    switch (listeObergruppe){
        case 1:
        this.listeLebensmittel();

        case 2:
        this.listeHygiene();

        case 3:
        this.listeGetränke();

        //case 4:
        //this.listeDeko();
        
        //this.Kasse();
    }
    
}   



    public void listeLebensmittel() {
    System.out.println("1 : Fleisch \n2 : Käse \n3 : Brot");
    int listeLebensmittel;
    listeLebensmittel = in.nextInt();
    switch (listeLebensmittel){

        case 1 :
        Fleisch = true;
        case 2 :
        Käse = true;
        case 3 :
        Brot = true;
    }
}

public void listeHygiene(){
    System.out.println("1 : Waschmittel \n2 : Shampoo \n3 : Rasierer \n4 : Zahnpflege \n5 : Klopapier");
    int listeHygiene;
    listeHygiene = in.nextInt();
    switch(listeHygiene){
        case 1 :
        Waschmittel = true;
        case 2 :
        Shampoo = true;
        case 3 :
        Rasierer = true;
        case 4:
        Zahnpflege = true;
        case 5 :
        Klopapier = true;
    }

}

public void listeGetränke(){
    System.out.println("1 : Wasser \n2 : Softdrinks \n3 : Milsch \n4 : Alkohol \n5 : Saft");
    int listeGetränke;
    listeGetränke = in.nextInt();
    switch (listeGetränke){

        case 1 :
        Wasser = true;
        case 2 :
        Softdrinks=true;
        case 3 :
        Milsch = true;
        case 4:
        Alkohol = true;
        case 5 :
        Saft = true;
    }

}



//public void listeDeko(){



//public void Kasse() {
Java, Bug

Das Game of Life möglichst einfach in Java schreiben?

Hallo! Ich hab eine kleine Programmieraufgabe und komme leider zu keinem vernünftigen Ergebnis. Mit einfachen Mitteln soll am Ende das "Game of Life" von Conway herauskommen.

Dazu habe ich ein Array erzeugt, mit dem dann später quasi eine 10x10 Felder Animation in der Console ablaufen sollte.

Bisher habe ich das hier:

public class GOL {

public static void main(String[] args) {

int[][] Welt = { 
{0,0,0,0,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0,1,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0,1,0},
{0,0,0,0,0,0,0,0,0,0}
};
int[][] NG = { 
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0}
};
int ii;
int jj; 

for (ii=1;ii<9 ;ii++ ) {
  for (jj=1;jj<9 ;jj++ ) {
    if (Welt[ii][jj] == 0) {
      System.out.print(" ");
    }
    else {
      System.out.print("#");  
    }
  } 
  System.out.println("");
}

for (ii=1;ii<9 ;ii++ ) {
  for (jj=1;jj<9 ;jj++ ) {
    Welt[ii][jj] = NG[ii][jj];
  } 
}

}

}

Damit werden mir nun in Form von "#" die "Lebewesen" angezeigt, aber wie frage ich am besten die Bedingungen, des Game-of-Life ab und lasse entsprechend die Ausgabe erzeugen? Ich steh total auf dem Schlauch. Habt ihr ein paar Tipps für mich?

programmieren, Java, Informatik

Java: Wie kann man das Programm nochmals durchlaufen lassen?

Man soll bei cash das Geld eingeben und wenn man genug Geld hat, soll alles nochmal durchlaufen werden (bei while ( isRunning )). Wie kann man das am besten lösen, ohne das eine Fehlermeldung kommt? Sorry für den langen Code :D

PS: Die Mitte des Codes ist relativ unwichtig.

//S. 244-245

public class Snake {

public static void main(String[] args) {
    
    boolean isRunning = true;
    boolean ok = true;
    while ( isRunning ) {
        if ( ok )
    System.out.println("Cash einwerfen:");
        ok = false;
    int cash = new java.util.Scanner( System.in ).nextInt();

    java.awt.Point playerPosition = new java.awt.Point( 10, 9 );
    java.awt.Point snakePosition  = new java.awt.Point( 39, 0 );
    java.awt.Point goldPosition   = new java.awt.Point( 6, 6 );
    java.awt.Point doorPosition   = new java.awt.Point( 0, 5 );
    java.awt.Point gold2Position   = new java.awt.Point( 20, 8 );
    boolean rich = false;
    boolean rich2 = false;
    
    while ( true ) {
        
        for ( int y = 0; y < 10; y++ ) {
            for ( int x = 0; x < 40; x++) {
                java.awt.Point p = new java.awt.Point( x, y );
                if ( playerPosition.equals ( p ) )
                    System.out.print('&');
                else if ( snakePosition.equals( p ) )
                    System.out.print('S');
                else if ( goldPosition.equals( p ) )
                    System.out.print('$');  
                else if ( gold2Position.equals( p ) )
                    System.out.print('$');                      //Wichtig: print statt println
                else if ( doorPosition.equals( p ) )
                    System.out.print('#');
                else System.out.print('.');
              }
            System.out.println();
            }
        
        //Textausgaben
        if ( rich && rich2 && playerPosition.equals( doorPosition ) ) {
            System.out.println("Gewonnen!");
            break;
        }
        if ( playerPosition.equals( snakePosition ) ) {
            System.out.println("Game Over!");
            break;
        }
        if ( playerPosition.equals ( goldPosition ) ) {
            rich = true;
            goldPosition.setLocation( -1, -1 );
        }
        if ( playerPosition.equals ( gold2Position ) ) {
            rich2 = true;
            gold2Position.setLocation( -1, -1 );
            
        
            goldPosition.setLocation( -1, -1 );
        }
        
        switch ( new java.util.Scanner ( System.in ).next() ) {
        case "w" : playerPosition.y = Math.max( 0, playerPosition.y - 1); break; 
        case "s" : playerPosition.y = Math.min( 9, playerPosition.y + 1); break;
        case "a" : playerPosition.x = Math.max( 0, playerPosition.x - 1); break;
        case "d" : playerPosition.x = Math.min( 39, playerPosition.x + 1); break;
        case "wa": playerPosition.y = Math.max( 0, playerPosition.y - 1);
                   playerPosition.y = Math.max( 0, playerPosition.x - 1 ); break;
        case "wd": playerPosition.y = Math.max( 0, playerPosition.y - 1);
                   playerPosition.x = Math.min( 39, playerPosition.x + 1); break;
        case "sa": playerPosition.y = Math.min( 9, playerPosition.y + 1);
                   playerPosition.x = Math.max( 0, playerPosition.x - 1); break;
        case "sd": playerPosition.y = Math.min( 9, playerPosition.y + 1);
                   playerPosition.x = Math.min( 39, playerPosition.x + 1); break;
        }
        
PC, programmieren, Java, snake

Meistgelesene Beiträge zum Thema Java