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
Taschenlampen App blockiert Kamera?

Hi ich wollte eine eigene Taschenlampe programmieren hab dies auch halbwegs Erfolgreich getan. Doch habe ich folgendes Problem:

Wenn ich die App öffne und die Lampe an und aus mache, sie dann schließe und die Handy Kamera, Snapchat oder änliches öffne kommt die Nachricht: Warnung Kamerafehler!

Ich schätze das die App die Kamera blockiert. Wie kann ich das beheben??

ActivityMain.java


import android.content.pm.PackageManager; import android.hardware.Camera; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.Switch; import android.widget.Toast; import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity{

ToggleButton togglebtn;
Camera camera;
Camera.Parameters pam;
boolean lighton;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    togglebtn = (ToggleButton) findViewById(R.id.toggleButton);
    togglebtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            if (isChecked == true){
                if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
                    if (camera == null){
                        camera = Camera.open();
                    }

                    pam = camera.getParameters();
                     pam.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(pam);
                    camera.startPreview();

                    lighton = true;

                }else{
                    Toast.makeText(getApplicationContext(), "keine LED-Lampe vorhanden", Toast.LENGTH_SHORT).show();
                }
            }
            if (isChecked == false){
                lightoff();
            }
        }
    });

}

public void lightoff(){
    if (lighton == false) {
        camera = Camera.open();

    }
    pam = camera.getParameters();
    pam.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
    camera.setParameters(pam);
    camera.stopPreview();

    lighton = false;
}
@Override
protected void onPause(){
    if (lighton == true) {
        lightoff();
        camera.release();
    }
    super.onPause();
}

@Override
protected void onResume() {
    togglebtn.setChecked(false);
    super.onResume();
}

}



Danke im vorraus:)

App, programmieren, Java, Android

Meistgelesene Beiträge zum Thema Java