Zum Inhalt springen

Taschenrechner


sp0x

Empfohlene Beiträge

Hallo alle zusammen,

bräuchte eure Hilfe.

Es geht darum das ich ein Taschenrechner programmieren sollte über Eclipse in Java. (Laut meinem Ausbilder).

Ich hab es hinbekommen den Taschenrechner zu programmieren. Jetzt aber habe ich eine neue Aufgabe gestellt bekommen die wie folgt lautet:

Es soll möglich sein, mehr als 2 Zahlen einzugeben. Der Benutzer soll dabei bestimmen, wieviele Zahlen er verwenden will. Das Maximum soll 5 sein.

Dann hat er mir zur Hilfe einen Link hinzugefügt mit dem ich selbst aber nichts anfangen kann. Ich will ihn auch nicht unnötig nerven mit fragen schließlich muss ich das ja selbst lösen. Den Link bekommt ihr auch gleich dazu:

Kapitel 15 — Schleifen

So und nun poste ich euch noch mein aktuelles Programm rein:

import java.io.BufferedReader;

import java.lang.Math;

import java.io.IOException;

import java.io.InputStreamReader; 

public class Taschenrechner 


{

   private static final BufferedReader in = null;

   public static void main(String[] args) 

   {

	   System.out.println ("Taschenrechner Denis Suppes");

	   System.out.println ("Bitte wählen Sie die Rechenart:"); //

	   System.out.println ("1 für Subtraktion");

	   System.out.println ("2 für Addition");

	   System.out.println ("3 für Multiplikation");

	   System.out.println ("4 für Division");

	   try 

	   {  												

		   BufferedReader in = new BufferedReader(new InputStreamReader( System.in ) );			

		   int Auswahl = Integer.parseInt(in.readLine());

		   switch (Auswahl)

		   {

		     case 1 :

		    	 System.out.println ("Sie haben sich für die Subtraktion entschieden.");

		    	 break;

		     case 2 :

		    	 System.out.println ("Sie haben sich für die Addition entschieden.");

		    	 break;

		     case 3 :

		    	 System.out.println ("Sie haben sich für die Multiplikation entschieden");

		    	 break;

		     case 4:


		    	 System.out.println ("Sie haben sich für die Division entschieden");

		    	 break;  

		     default  : 

		    	 System.out.println ("Konnte nicht gefunden werden"); 

		   }  	   

		   System.out.println ("Bitte geben Sie 2 Zahlen ein:");

	       double  eingabe_1 = Integer.parseInt(in.readLine());

	       double  eingabe_2 = Integer.parseInt(in.readLine());


	       switch (Auswahl)

	       {

	       case 1 :

	    	   System.out.println  ( eingabe_1 + "-" + eingabe_2 + "=" + Math.round (eingabe_1 - eingabe_2));

	    	   break;

	       case 2:

	    	   System.out.println (eingabe_1 + "+" + eingabe_2 + "=" + Math.round (eingabe_1 + eingabe_2));

	    	   break;

	       case 3 :

	    	   System.out.println (eingabe_1 + "*" + eingabe_2 + "=" + Math.round (eingabe_1 * eingabe_2));

	    	   break;

	       case 4 :


	    	   System.out.println (eingabe_1 + "/" + eingabe_1 + "=" + (eingabe_1/ eingabe_2));

	    	   break;


	       }


	   }

	   catch( IOException ex ) 

	   {

		   System.out.println (ex.getMessage() );

       }

    }

}


Wäre wirklich nett von euch wenn Ihr mir helfen könnten.

Was will der Ausbilder genau mit der Seite bezeichnen und wie stell ich das ein?

Was hat das mit dem "while" zu tun?

Vielen Dank für eure Hilfe!

gruß Spox

Link zu diesem Kommentar
Auf anderen Seiten teilen

System.out.println ("Bitte geben Sie 2 Zahlen ein:");

double eingabe_1 = Integer.parseInt(in.readLine());

double eingabe_2 = Integer.parseInt(in.readLine());

Du veranlasst den Benutzer an dieser Stelle 2 Zahlen einzugeben. Probier es doch mal mit 3, dann 4, dann 5 und vielleicht weißt du zur Laufzeit noch gar nicht, wieviele Zahlen der Benutzer addieren will. Der Benutzer muss also solange Zahlen eingeben, bis eine Maximalanzahl erreicht ist oder er keinen Bock mehr hat. 5 soll erstmal Maximum sein. Du könntest obige Zeile 5x tippen, aber damit kommst du bald nicht mehr weiter.

Eine While-Schleife läuft solange, bis eine Bedingung nicht mehr erfüllt ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke erst mal für die schnellen Antworten.

Uff da hab ich wohl viel zu lesen vor mir. Ich muss das bis nächste woche hingekommen aber mal schauen was sich machen lässt das heisst dann wohl länger arbeiten :).

Naja Danke euch wenn ich nicht mehr weiter kommen sollte dann sag ich bescheid.

Gruß Sp0x

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also bin seit heute morgen schon drann, und komm einfach nicht weiter :(.

Habt ihr noch n kleinen tipp.

import java.io.BufferedReader;

import java.lang.Math;

import java.io.IOException;

import java.io.InputStreamReader; 

public class testit


{

   private static final BufferedReader in = null;

   public static void main(String[] args) 

   {

	   System.out.println ("Taschenrechner Denis Suppes");

	   System.out.println ("Bitte wählen Sie die Rechenart:"); //

	   System.out.println ("1 für Subtraktion");

	   System.out.println ("2 für Addition");

	   System.out.println ("3 für Multiplikation");

	   System.out.println ("4 für Division");

	   try 

	   {  												

		   BufferedReader in = new BufferedReader(new InputStreamReader( System.in ) );			


		   int Auswahl = Integer.parseInt(in.readLine());

		   switch (Auswahl)

		   {

		     case 1 :

		    	 System.out.println ("Sie haben sich für die Subtraktion entschieden.");

		    	 break;

		     case 2 :

		    	 System.out.println ("Sie haben sich für die Addition entschieden.");

		    	 break;

		     case 3 :

		    	 System.out.println ("Sie haben sich für die Multiplikation entschieden");

		    	 break;

		     case 4:


		    	 System.out.println ("Sie haben sich für die Division entschieden");

		    	 break;  

		     default  : 

		    	 System.out.println ("Konnte nicht gefunden werden"); 

		   }  	   

		   System.out.println( "Geben Sie ein wie viele Zahlen Sie berechnen wollen:" );


		   	int zaehler = 1;

		    int anzahl     = Integer.parseInt( in.readLine() );

		    if (anzahl >=2 && anzahl <=5) //hier stimmts oder nicht ? 


		    {

		    	while (anzahl == 2 ) //keine ahnung ob das richtig ist 


		    		System.out.println ("Bitte geben Sie die 1. zahl ein:"  + ???  );

		    	while (anzahl == 2 )

		    		System.out.println ("Bitte geben Sie die 2. zahl ein:" + ???? );


		    		{

		    			System.out.println ("Nö");

		    		}

		    }

		    else

	       System.out.println ("Es sind zu wenig oder zu viele Zahlen.");



	   }

	   catch( IOException ex ) 

	   {

		   System.out.println (ex.getMessage() );

       }

    }


}


Link zu diesem Kommentar
Auf anderen Seiten teilen

if (anzahl >=2 && anzahl <=5) //hier stimmts oder nicht ? 


{

	while (anzahl == 2 ) //keine ahnung ob das richtig ist 


		  System.out.println ("Bitte geben Sie die 1. zahl ein:"  + ???  );

	while (anzahl == 2 )

		  System.out.println ("Bitte geben Sie die 2. zahl ein:" + ???? );


		  {

		    	System.out.println ("Nö");

		  }

}

Dieser Codeblock ist völlig falsch. Du baust 2 Schleifen ein, die das gleiche prüfen. Anschließend folgt ein Codeblock, der quasi "nirgends zu gehört" und immer ausgeführt wird. Fang mal oben neu an. Du benötigst nur eine Schleife, in der du prüfst, wieviele Zahlen schon eingegeben wurden - d. h. du musst mitzählen (also zählvariable deklarieren und aus dem if ein while machen). Im ersten Durchlauf liest du nun eine Zahl ein und speicherst diese (ggf. schau dir erstmal das Array an). Ist die erste Zahl eingelesen und abgespeichert, zählst du deinen Zähler um 1 hoch und die Schleife beginnt von Neuem - und zwar solange bis dein Zähler gleich der gewünschten Zahleneingabe ist.

while (counter < anzahl)

{

  //das oben Beschriebene

  //counter++;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...