Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo ich bin noch ein blutiger Anfänger und habe zurzeit folgende Aufgabe die ich lösen soll:
Ich soll bei Java in einem Taschenrechner am Ende fragen, ob ich nochmal etwas berechnen soll. Diese Frage darf nur mit j/n beantwortet werden. Es dürfen auch nur j/n als Antworten möglich sein. Bei einer anderen Eingabe soll die Frage erneut beantwortet werden. Zudem soll der Bildschirm bei der Eingabe j gelöscht werden und nur wieder die Eingabeaufforderung soll zu sehen sein.
Mein Code sieht bisher so aus :
Java:
import java.util.Scanner;
public class Taschenrechner{
public static void main (String[] args){
double zahl1, zahl2, ergebnis;
char eingabe, operator;
Scanner scannerVariable = new Scanner (System.in);
do {
System.out.println("Erste Zahl");
zahl1=scannerVariable.nextDouble();
System.out.println("Zweite Zahl");
zahl2=scannerVariable.nextDouble();
System.out.println("Geben Sie bitte ein ob +, -, *, /):");
operator= scannerVariable.next().charAt(0);
if (operator== '+') {
System.out.println(zahl1+zahl2);
}else if (operator== '-') {
System.out.println(zahl1-zahl2);
}
else if (operator== '*') {
System.out.println(zahl1*zahl2);
}
else if (operator== '/') {
System.out.println(zahl1/zahl2);
} else {
System.out.println("Ungültiger Rechenoperator");
} // end of if-else
System.out.println("Wiederholen?");
eingabe = scannerVariable.next().charAt(0);
} while (eingabe == 'j'); // end of do-while
}//public static void main
}//class
In Java gibt es verschiedene Möglichkeiten von Interaktion mit dem User. So wie ich das sehe, läuft dein Taschenrechner über die Konsole. Die Konsole ist eine Art Protokoll, d.h. wenn dort Eingaben / Ausgaben getätigt wurden, kannst du diese nicht mehr rückgängig machen. Du kannst natürlich über die Konsole die Frage ständig stellen, dann müsste der User halt ja/j oder nein/n eingeben. Ich vermute allerdings, dass du hier eine Interaktion mittels Fenster in Betracht ziehst. Hierzu stellt Java die Bibliothek awt (https://docs.oracle.com/javase/7/docs/api/java/awt/package-summary.html) und swing (https://docs.oracle.com/javase/7/docs/api/javax/swing/package-summary.html) zur Verfügung. Schau diese dir mal an. Dort kannst du auch die Eingaben (als TextField) beim Drücken des Berechnen-Buttons (als Button) zurücksetzen, oder eben deine Eingabeforderung (als JDialog bzw. JOptionPane.showConfirmDialog) durchführen. Jedenfalls wird die Eingabe der Frage mit der Konsole nicht wirklich gut umsetzbar sein und das Zurücksetzen der Eingabe ist nicht möglich, es sei denn hiermit sind nur die Werte der Variablen gemeint?
Um die Konsole zu "löschen", ist es am einfachsten, eine Menge von Zeilenumbrüchen auszugeben, also
Java:
for (int i = 0; i < 50; ++i) {
System.out.println();
}
Um mehrere Rechnungen zu ermöglichen, würde ich eine (meinetwegen static) Methode "rechne" einführen, in die der meiste Code der bisherigen main-Funktion kommt. Die main-Funktion ist dann nur noch dafür zudtändig, diese Funktion (so oft wie gewollt) aufzurufen. Das ist erst einmal eine erste Aufteilung in Methoden, die du später noch mehr ausbauen solltest.