Java-Taschenrechner. Hilfe

Status
Nicht offen für weitere Antworten.

sunnyboy

Mitglied
Hey Leute,
sorry, falls es solch ein Thema schon mal gegeben haben sollte, bitte nicht steinigen ;). Brauche individuelle Hilfe.
Habe folgendes Problem: Ich mache mein Abi in Wirtschaftsinformatik. Wir haben nun folgende Aufgabe gestellt bekommen:

Schreibt einen kleinen Taschenrechner, welcher folgende Eingaben entgegen nimmt:
1. Anzahl der einzugebenden Zahlen
2. Rechenoperatoren

Als Ausgabe sollen die Zahlen nun addiert, multiplizeirt,... werden. Je nach Rechenoperation.
Zum Einsatz sollen kommen:
Array
if- und/oder case-Anwendung
for-, do- oder while-Schleife

Leider mangelt es unserer Leherin an jeglicher Übermittlungfähigkeit, kein Mensch versteht bei ihr was :roll: , dadurch fehlt nun jeglicher Überblick über die ganzen Komandos. Naja anderes Thema. Ich habe schon mal angefangen zu programmieren, doch leider hängt's bei mir beim Einlesen der Rechenoperatoren und dass die Anwendung dann entscheidet welcher Operator gewählt wurde und in der if-Anweisung das Ergebnis berechnet. Könnt ihr mir weiterhelfen? Ich bin echt ratlos. Bitte versucht in der Art und Weise mir weiterzuhelfen wie unten programmiert wurde. Vielen lieben Dank schonmal.

PS.: Bitte nicht über die Programmierweise lachen. Hab schon von einigen gehört, dass unsere Lehrerin net gescheid programmieren kann :autsch: . Naja, macht euch selbst ein Bild darüber ;)


Wichtig: Eingelesen hat das Programm die gewünschten Zahlen. Soweit funktioniert es. Zur Vereinfachung habe ich weitere else-if-Anwendungen der Rechenoperatoren weg gelassen. Hoffe das ist jetzt nicht alles falsch, bin total verwirrt :(

Code:
import java.io.*;
import java.text.*;

public class taschenrechner

{
  public static void main (String[]args) throws IOException
  
  {
    String [] blabla = new String [10];
    String str;
    int anzahlZahlen, zeichen, zahl, inData1;

    BufferedReader input = new BufferedReader (new InputStreamReader(System.in));
    DecimalFormat df = new DecimalFormat("#,##0.00");
    
    System.out.println("Wie viele Zahlen sollen berechnet werden?");
    anzahlZahlen=Integer.parseInt(input.readLine());
    int [] zahlen = new int [anzahlZahlen];
    for (int i=0; i<anzahlZahlen; i++)
    {
     System.out.println("Bitte geben Sie den Wert für " +(i+1)+ ": ");
     zahlen [i] = Integer.parseInt(input.readLine());
     System.out.println("Wert für Zahl " + zahlen[i]);



    }
      System.out.println("Bitte geben Sie die Rechenoperation (+/-/x//) ein!");
      //inData1 = outSystem.readLine();
      str=input.readLine();
      inData1=Integer.parseInt(str);
      //inData1=Integer.parseInt(input.readLine());
      

      if (inData1.equals ('+'))
      {
        double[]arr=new double[-1];
        String[]anzahlZahlen=new String[-1]; //Fehler: anzahlZahl ist schon in Main deffiniert
        for(int i=0; i<anzahlZahlen.length; i++){
         zahlen=zahlen + (arr[i]);   //Fehler: kann den Operator + nicht bei int[],double anwenden
        }
        System.out.println("Das Ergebnis Ihrer Berechnung lautet: " +zahl);
      }



  }
}
 

andre111

Bekanntes Mitglied
hier liegt ein fehler

Code:
int inData1;
...
inData1=Integer.parseInt(str);

du kannst wohl kaum ein +, - oder x in eine Zahl casten
 

sunnyboy

Mitglied
Hi Namensfetter ;),

wärst du evtl so nett, und könntest den Fehler korrigieren. Wär echt suuuuuuper :) .Wir hatten das Thema in der Schule leider noch nicht, hatten nur ein paar Informationsblätter ( die auch einem leider nicht weiterhelfen) von unserer ach so tollen Lehrerin bekommen (is ne Projektarbeit, weil sie zwei Wochen lang nicht da ist).
 

Marco13

Top Contributor
Fett...
inData1=str.charAt(0);
if (inData1 == '+') ...
Alles auf den Lehrer schieben funktioniert aber auch nur begrenzt.
 

sunnyboy

Mitglied
Danke schon mal für die Hilfe, allerdings sind leider die obigen zwei kommentierten Probleme immer noch da. Hab schon herumgetüffelt, hier und da was probiert, aber anscheinend mach ich da leider immer noch was falsch :(
 

Marco13

Top Contributor
Ein bißchen rumprobieren UND Tutorials lesen + überlegen. (Letztere nicht vergessen)

Code:
import java.io.*;
import java.text.*;

public class taschenrechner

{
  public static void main (String[]args) throws IOException

  {
    String [] blabla = new String [10];
    String str;
    int anzahlZahlen, zeichen, inData1;

    BufferedReader input = new BufferedReader (new InputStreamReader(System.in));
    DecimalFormat df = new DecimalFormat("#,##0.00");

    System.out.println("Wie viele Zahlen sollen berechnet werden?");
    anzahlZahlen=Integer.parseInt(input.readLine());
    int [] zahlen = new int [anzahlZahlen];
    for (int i=0; i<anzahlZahlen; i++)
    {
     System.out.println("Bitte geben Sie den Wert für " +(i+1)+ ": ");
     zahlen [i] = Integer.parseInt(input.readLine());
     System.out.println("Wert für Zahl " + zahlen[i]);



    }
      System.out.println("Bitte geben Sie die Rechenoperation (+/-/x//) ein!");
      //inData1 = outSystem.readLine();
      str=input.readLine();
      inData1=str.charAt(0);
      //inData1=Integer.parseInt(input.readLine());


      if (inData1 =='+')
      {
        double summe = 0;
        for(int i=0; i<zahlen.length; i++){
         summe += zahlen[i];
        }
        System.out.println("Das Ergebnis Ihrer Berechnung lautet: " +summe);
      }



  }
}
 

Baunty

Mitglied
Code:
System.out.println("Bitte geben Sie die Rechenoperation (+/-/x//) ein!");

Wegen des doppelten // leitest du mitten drin ein Kommentar ein... das is schlecht.

Code:
str=input.readLine();
inData1=Integer.parseInt(str);

Wenn du ein +, -, x oder / ausliest kannst du es doch nicht in einen Integer umwandeln, außerdem könntest du die Buchstaben doch direkt vergleichen statt sie umzuwandeln.
Wenn du aber mit INT arbeiten willst,
schreibe das Script so :

Code:
System.out.println("Bitte geben Sie die Rechenoperation an.");
System.out.println("1 = Addition, 2 = Subtraktion, 3 = Multiplikation, 4 = Division : ");
str=input.readLine();
inData1=Integer.parseInt(str);

Kann das einer absegnen xD? Hab noch nie mit Eingaben in die Konsole gearbeitet habs jetzt mal aus dem Kontext geschlussfolgert hoffe das stimmt so ;-)
 

Mirko07

Aktives Mitglied
Da das
Code:
//
in einem String steht, sollte da nix passieren in Richtung Kommentar einleiten.
Falls doch kann man das Trennzeichen ändern in "," oder "|".

Das mit dem int wird aber bei +,-,*,/ wirklich nichts werden.
Ich favorisiere auch die Variante
Code:
if (str.charAt(0)=='+') {}
.
Da spart man das Exception-Handling, welches bei
Code:
Integer.parseInt(String)
immer Pflicht ist, wenn man nicht bei einer Fehleingabe in den Tisch beißen möchte... :wink:
 

sunnyboy

Mitglied
Super. Vielen lieben Dank. Hat mir jetzt echt geholfen. Ein Problem hab ich leider immer noch, is mir langsam schon peinlich :oops:. Was muss ich beachten, wenn ich die Arrays voneinander subtrahieren/ multiplizieren/ dividieren möchte? Habe nun den Code zum subtrahieren geschrieben, aber wenn ich das Programm starte, berechnet es folgerndermaßen: erste zahl 6, zweite 3 = -9 ???:L
Hat es evt was mit dem "i" zu tun? Welches Kommando ist für die anderen Operatoren zu beachten?

Hoffentlicih bekomm ich's bald endlich in Griff. By the way. Könnt ihr mir evt ein gutes Buch zum nachschlagen/ lernen empfehlen? Am besten sogar eins, was für's Abi in Wirtschaftsinformatik geeignet ist.
 

Der Müde Joe

Top Contributor
sunnyboy hat gesagt.:
Könnt ihr mir evt ein gutes Buch zum nachschlagen/ lernen empfehlen?

http://www.galileocomputing.de/openbook/javainsel7/

Eigentlich nicht schlecht.

sunnyboy hat gesagt.:
Am besten sogar eins, was für's Abi in Wirtschaftsinformatik geeignet ist.

Hab ich leider nie gemacht, aber Programmieren kann man nur durch programmieren lernen.
Bücher geben zwar das Hintergrundwissen und zeigen Wege, aber ist nicht wie Geschichte
wo man Daten auswendig lernen kann. (Nix gegen Historiker)
 

Mirko07

Aktives Mitglied
Schick bitte nochmal den Code damit ich die Subtraktion mal nachvollziehen kann.

Ich glaube, Dein Minus-Problem hat in erster Linie nix mit Java sondern eher mit Mathe zu tun. Vermutlich werden beim Subtrahieren alle beteiligten Zahlen negativ.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Hilfe bei Java Taschenrechner Java Basics - Anfänger-Themen 25
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
H Java Taschenrechner Java Basics - Anfänger-Themen 4
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
M Java Taschenrechner Programmieren Java Basics - Anfänger-Themen 12
Z Java Taschenrechner Java Basics - Anfänger-Themen 6
C Taschenrechner in Java Java Basics - Anfänger-Themen 6
J Erste Schritte Java CMD Taschenrechner mit Parametern! Java Basics - Anfänger-Themen 16
B Klassen Java Taschenrechner mit Klassen und Methoden Java Basics - Anfänger-Themen 12
I Java Starthilfe (Taschenrechner) Java Basics - Anfänger-Themen 7
S Taschenrechner in Java - sinnvoll? Java Basics - Anfänger-Themen 3
D Rücktaste bei einem Java Taschenrechner Java Basics - Anfänger-Themen 6
R Java-Taschenrechner Funktioniert nicht Java Basics - Anfänger-Themen 16
B Java Taschenrechner - JFrame Java Basics - Anfänger-Themen 5
B Java-Frame Taschenrechner - String -> Int und umgekehrt Java Basics - Anfänger-Themen 8
X Taschenrechner mit Java Swing Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben