Konsolenprogramm(Taschenrechner)!

Status
Nicht offen für weitere Antworten.
M

manunana89

Gast
Hat vll jemand einen Tipp für mich wie ich Benutzereingaben über ein Konsolenprogramm nutzen kann!

Also möcht so etwas wie einen Taschenrechner für die Konsole schreiben!!!
hab aber keine Ahnung mit was ich anfangen soll um Benutzereingaben zuzulassen!

Wäre über Hilfe erfreut :D
 
G

Guest

Gast
Danke !!!
Aber kann jemand den groben Umgang damit erklären???
 
S

Spacerat

Gast
Und wieder ein passendes Thema:

Ich wollte schon immer mal nach einer Möglichkeit fragen, die nicht wie "System.in" bis zum Abschluss einer Eingabe (Return) blockt, so dass man ohne AWT (KeyListener) Zeichen für Zeichen lesen und ausgeben kann.

mfg Spacerat
 

Fu3L

Top Contributor
Code:
//Hier wird der BufferedReader erzeugt (wahrscheinlich nur einmal nötig)
InputStreamReader in = new InputStreamReader(System.in) ;
BufferedReader br = new BufferedReader(in);

//Hier gibts du irgendwas aus, damit der User weiß, was er Eintippen soll. 
//Direkt hinter dem Doppelpunkt würde dort die Eingabe geschrieben, 
//wenn der User was tippt.
System.out.println("Konsoleneingabe:");

//Durch diese Methode wird dann eingelesen. Das Programm is solange unterbrochen, 
//bis der Nutzer Enter gedrückt hat. Der eingegebene Text wird dann
//in der String-Variablen text gespeichert und kann von dir weiterverarbeitet werden.
String text = br.readLine();

Benutze normalerweise ein Objekt vom Typ Console für Ein- und Ausgabe, deswegen bin ich mir bei dem Kommentar in Zeile 1 nich ganz sicher, aber müsste stimmen :wink:
 

L-ectron-X

Gesperrter Benutzer
Code:
import java.util.*;

public class Calc {
   private Scanner scanner;
   
   public Calc() {
      scanner = new Scanner(System.in);

      do {
         System.out.println("\nBitte geben Sie Ihre Rechenaufgabe ein!\n");
         System.out.println("="+calc());
         System.out.print("\nEine weitere Aufgabe rechnen? (j/n) ");
      }
      while(scanner.next().equals("j"));
   }

   public static void main(String[] args) {
      new Calc();
   }
   
   private double calc() {
      try {
         double num1 = scanner.nextDouble();
         String operator = scanner.next();
         double num2 = scanner.nextDouble();
         
         if(operator.equals("+")) {
            return add(num1, num2);
         }
         else if(operator.equals("-")) {
            return sub(num1, num2);
         }
         else if(operator.equals("*")) {
            return mul(num1, num2);
         }
         else if(operator.equals("/")) {
            return div(num1, num2);
         }
      }
      catch(InputMismatchException e) {
         System.out.println("Geben Sie pro Zeile nur eine Zahl bzw. einen Operator ein!\nZwischen zwei Zahlen muss ein Operator eingeben werden.");
         System.exit(1);
      }
      
      return 0.0;
   }
   
   private double sub(double minuend, double subtrahend) {
      return minuend - subtrahend;
   }
   
   private double add(double summand1, double summand2) {
       return summand1 + summand2;
   }
   
   private double div(double dividend, double divisor) {
      return dividend / divisor;
   }

   private double mul(double factor1, double factor2) {
       return factor1 * factor2;
   }
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben