2 kurze Anfänger fragen

Amarok

Mitglied
Abend zusammen

ich der anfänger habe mal zwei kurze Fragen an euch.
Ich habe ein kleines sinnloses Programm geschrieben :
Das Programm nimmt zwei Zufallswerte und der Benutzer gibt ein was damit gemacht werden soll (+,-,...) Das Programm gibt das Ergebnis aus.

1:
Wenn ich das Ergebnis sehe muss ich immer wieder, das Programm neustarten um ein weiteres Ergebnis zu bekommen.
Gibt es eine Möglichkeit dass, das Programm sozusagen wieder von vorne beginnt nachdem man es dazu auffordet?
Ich hoffe es ist verständlich was ich meine.

2:
Bezieht sich ebenfalls auf mein Programm.
Wie sage ich dem Programm das es auch den Operator zufällig wählen soll?


Wäre nett wenn mir jemand mal einen Denkanstoss geben könnte.
Danke MFg Amarok


Java:
  import java.util.Random;
import java.util.Scanner;
     
     
    public class Test {
       // RandomTaschenrechner 
       
     
           
        public static void main(String args[]){
     
        	
        // Variabeln
        	
        double ergebnis = 0;
        int randomzahl1 = 0   , randomzahl2 = 0, operator;
        String zeichen;
        Scanner eingabe = new Scanner (System.in);
        Random wurfel = new Random ();
        
        System.out.println("Taschenrechner 2.2");
     
        // Einlesen der Zufallswerte
        System.out.println ("Zahl 1");
        for  (int i=0; i<1; i++){
			randomzahl1 = 1+ wurfel.nextInt(100);
			System.out.println (randomzahl1);
		}
        System.out.println ("Zahl 2");
		for  (int i=0; i<1; i++){
			randomzahl2 = 1+ wurfel.nextInt(100);
			System.out.println (+randomzahl2);
		}
		
		
     
       
        // Eingabe des Rechenoperators

        System.out.println("Wählen sie Bitte ein Rechenart aus: ");
        System.out.println("1: Addition");
        System.out.println("2: Subtraktion");
        System.out.println("3: Multiplikation");
        System.out.println("4: Division");
        zeichen = eingabe.next();


        
        // Auswertung der Eingabe
        
        switch(zeichen.charAt(0))
        {
        case '1': ergebnis=randomzahl1+randomzahl2;
        System.out.println("Das Ergebnis lautet: "+ergebnis);
        System.out.println("Danke das Sie den Taschenrechner 2.2 verwendet haben.");
        break;

        case '2': ergebnis=randomzahl1-randomzahl2;
        System.out.println("Das Ergebnis lautet: "+ergebnis);
        System.out.println("Danke das Sie den Taschenrechner 2.2 verwendet haben.");
        break;

        case '3': ergebnis=randomzahl1*randomzahl2;
        System.out.println("Das Ergebnis lautet: "+ergebnis);
        System.out.println("Danke das Sie den Taschenrechner 2.2 verwendet haben.");
        break;

        case '4': ergebnis=randomzahl1/randomzahl2;
        System.out.println("Das Ergebnis lautet: "+ergebnis);
        System.out.println("Danke das Sie den Taschenrechner 2.2 verwendet haben.");
        break;

        default:
        System.out.println("Dieses Zeichen ist ungültig!!!");
        System.out.println("Bitte geben Sie ein gültiges Rechenzeichen ein!");
        break;
        
        }
        }
    }
 

Hasenherz

Mitglied
Wenn ich das Ergebnis sehe muss ich immer wieder, das Programm neustarten um ein weiteres Ergebnis zu bekommen.
Gibt es eine Möglichkeit dass, das Programm sozusagen wieder von vorne beginnt nachdem man es dazu auffordet?
Ich hoffe es ist verständlich was ich meine.
Ich habe nun nicht wirklich viel Ahnung und es mag da einen ganz einfachen Verweis geben, aber Du könntest eine Variable (boolean?) definieren die, solange sie true ist, mittels einer while-Schleife um dein ganzes Programm eben dieses immer wiederholt.
Nach Ausgabe deines Ergebnisses hast Du eine Abfrage, ob noch weiter gerechnet werden soll. Wenn ja: Variable -> true -> while läuft erneut durch. Wenn nicht: Variable -> false und die while-Schleife ist beendet.

edit: wofür hast Du die Erzeugung der Zufallszahlen in for-Schleifen gepackt? Es müsste doch auch ohne gehen, oder?
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Das mit der while Schleife ist gut. Aber man würde da eher eine do while Schleife benutzen.

Die for-Schleifen machen wirklich keinen Sinn. ;)

Operator zufällig wählen: quick and dirty würde ich sagen, du schreibst zufällig einen Wert in den char zwischen 30 und 35 Hexadezimal interpretiert und überspringst die Abfrage (auskommentierung).



Ansonsten ginge es noch so, dass du erst abfragst, was gemacht werden soll und du dann darauf reagierst.
Du fragst ab, ob die Rechenoperation ausgesucht werden soll oder nicht und rufst dementsprechende Methoden auf, die die Rechenoperation durchführen.
Soll die Operation zufällig sein erzeugst zu zufällig einen Wert zwischen 0 und 5, jagst diesen durch einen switch-case, welcher die entsprechenden Methoden für die Rechenoperation aufruft.
 

Amarok

Mitglied
Danke an euch beiden für die Antworten.

Das mit den for Schleifen habe ich aus einem Tutorial über random.
Da es funktioniert hat dachte ich es wäre richtig so.
Tja so kann man falsch liegen....

Ich werde es mal mit einer Do While / Boolean versuchen, mal sehen ob es klappt.
MFG Amarok
 

kaoZ

Top Contributor
ich würde da zu so einem Konstrukt übergehen :

zumindest so in die Richtung :

Hier mal ein grobes Gerüst

Java:
import java.util.Random;
import java.util.Scanner;


public class RandomCalculator{

	int currentRun;
	int[] randomValues;
	Random rdm;
	
	public RandomCalculator(int len, int seed){
		rdm = new Random();
		randomValues = new int[len];
		for (int i = 0; i < randomValues.length; i++) {
			randomValues[i] = rdm.nextInt(seed);
		}
	}
	
	private String convert(int value){
		return "Das Ergebnis beträgt" + value;
	}
	
	private void reset(){
		currentRun = 0;
	}
	private int add(){return 0;}
	private int sub(){return 0;}
	private int div(){return 0;}
	private int mul(){return 0;}
	
	public void run(int runs){
		Scanner sc = new Scanner(System.in);
		boolean running = true;
		
		while(running){
			
			while(currentRun < runs){
				System.out.println(currentRun);
				currentRun++;
			}
			
			System.out.println("nochmal ?");
			String answ = sc.nextLine();
			
			if(answ.equalsIgnoreCase("ja")) {
				reset();
			}
			if(answ.equalsIgnoreCase("nein")) {
				running = false;
			}
		}
		
		sc.close();
	}
	
	public static void main(String[] args){
		new RandomCalculator(5, 100).run(5);
	}
}
 

Amarok

Mitglied
@kaoZ
Danke dir für die Bildliche Vorlage, in die muss ich mich erstmal reinarbeiten da sind einige Sache bei die mir bis jetzt neu waren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
S Kurze Verständnissfrage Java Basics - Anfänger-Themen 4
L Kurze Frage... Java Basics - Anfänger-Themen 2
C Kurze Frage zur Polymorphie Java Basics - Anfänger-Themen 1
B Rekursion Schneeflocke - Kurze Frage zur Methode Java Basics - Anfänger-Themen 11
TechGirl LinkedList - kurze allgemeine Frage Java Basics - Anfänger-Themen 17
T Objektorientierung-Kurze Frage Java Basics - Anfänger-Themen 5
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
D Compiler-Fehler kurze Frage (Fehler): runde Klammern im Println Java Basics - Anfänger-Themen 3
N Kurze Hilfe !! Java Basics - Anfänger-Themen 3
M Baum Code kurze frage ... Java Basics - Anfänger-Themen 6
M kurze frage zu meinem Code ... Java Basics - Anfänger-Themen 3
T Kurze Frage zu Arrays Java Basics - Anfänger-Themen 4
S Java - Client/Server mit Stomp kurze Frage Java Basics - Anfänger-Themen 0
T Eine kurze frage vor der prüfung bitte. Java Basics - Anfänger-Themen 5
X Kurze Frage zu Java Doc Java Basics - Anfänger-Themen 3
G Kurze Frage zu Arrays Java Basics - Anfänger-Themen 3
G Warteschlange/Reihungen kurze syntaktische Frage Java Basics - Anfänger-Themen 2
J Erste Schritte Kurze Frage zu Listenern und If-Bedingung Java Basics - Anfänger-Themen 2
B Methoden Tricky, kurze Schreibweise? Java Basics - Anfänger-Themen 3
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
M kurze frage: Ohne index.of position von string angeben Java Basics - Anfänger-Themen 16
V Ganz kurze Java-Hilfe - Ich finde meinen Fehler nicht Java Basics - Anfänger-Themen 4
R Kurze Linien alle x-Pixel Java Basics - Anfänger-Themen 2
A Methoden Langer Text, kurze Frage Java Basics - Anfänger-Themen 10
S Kurze Frage zur Effizienz: Java Basics - Anfänger-Themen 4
R Kurze Ouelltext frage Java Basics - Anfänger-Themen 3
U ArrayList kurze Einführung Java Basics - Anfänger-Themen 3
2 Datentypen Kurze Schreibform bei ArrayList (Vs String Array) Java Basics - Anfänger-Themen 6
M kurze Frage zu Graphics Java Basics - Anfänger-Themen 5
P OOP 3 kurze Fragen Java Basics - Anfänger-Themen 2
J Benötige kurze Definition zum Programm Java Basics - Anfänger-Themen 2
Screen Kurze Frage Umwandlung von Zahlen Java Basics - Anfänger-Themen 2
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
S Kurze Frage zum Ergebniss Java Basics - Anfänger-Themen 5
R klausurvorbereitung uni HILFE!! kurze fragen,kurze antworten Java Basics - Anfänger-Themen 9
A kurze frage zu arrays und deren zuweisung Java Basics - Anfänger-Themen 11
J Kurze Frage zur Primzahlberechnung Java Basics - Anfänger-Themen 8
B kurze Frage if(!) Java Basics - Anfänger-Themen 19
D 2 kurze Fragen Java Basics - Anfänger-Themen 5
K Kurze Frage zur Sortierung von Array-Inhalten Java Basics - Anfänger-Themen 5
Q 2 kurze Fragen Java Basics - Anfänger-Themen 3
D Kurze Fragen zu setVisible. Java Basics - Anfänger-Themen 4
G kurze frage zu if schleifen Java Basics - Anfänger-Themen 15
G kurze if frage Java Basics - Anfänger-Themen 8
G Kurze Frage zur Erstellung des Projektplans Java Basics - Anfänger-Themen 7
C OOP - Kurze Frage Java Basics - Anfänger-Themen 12
F Kurze Frage: JLabel in BorderLayout einfügen Java Basics - Anfänger-Themen 2
J QuickSort - kurze Frage Java Basics - Anfänger-Themen 9
M Kurze Pause ins Programm einbauen Java Basics - Anfänger-Themen 5
A Kurze Frage zur Verwendung von this Java Basics - Anfänger-Themen 9
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
H Threads Anfänger Java Basics - Anfänger-Themen 17
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
K Buchstabenzähler Java (Anfänger) Java Basics - Anfänger-Themen 35
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
K Java Anfänger Java Basics - Anfänger-Themen 5
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
F Hilfe, bin Anfänger! Java Basics - Anfänger-Themen 4
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
F Abrechnungsprogramm erstellen Student (Anfänger) Java Basics - Anfänger-Themen 2
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
Textsurfer Methoden Anfänger * Java Basics - Anfänger-Themen 5
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
C verwirrter Anfänger Java Basics - Anfänger-Themen 6
L Verzinsungsprogramm (Java-Anfänger) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben