TaschenrechnerKlasse erstellen Probleme

Status
Nicht offen für weitere Antworten.

p.tryfle

Mitglied
Hallo zusammen,

Ich muss für die Uni eine TaschenrechnerKlasse schreiben.

Diese soll die fünf Grundrechenarten in jeweils einer Methode beinhalten.
Diese Methoden sollen dann die Berechnung und die Rückgabe des Ergebnisses enthalten.
Der User soll nach programmstart aufgefordert werden eine Ganzzahl einzugeben, danach soll er ein zweites mal aufgefordert werden eine zweit Ganzzahl einzugeben.

Dann soll dem user die Möglichkeit gegeben werden eine der Grundrechenarten für seine bereits gewählten Ganzzahlen auszwählen:
1 = Addieren; 2 = Subtraktion; 3 = Multiplikation; 4 = Division; 5 = Prozent
Danach sollen die Zahlen so ausgegeben werden:
z.b. 12 + 12 = 24
Wichtig: Die Ergebnisse von 4, und 5 müssen als Double wiedergegeben werden.
Diese Eingabe und ausgabe soll über die Scanner Class von JAVA implementiert werden.

Die Main Methode soll nur den Aufruf enthalten!

MEIN PROBLEM LIEGT NUN BEI DEM LETZTEN SCHRITT.
ZWEI GANZZAHLEN WERDEN EINGELESEN DOCH WENN ICH DIE GEWÜNSCHTE RECHENMETHODE AUSWÄHLE TUT SICH GARNICHTS.
ICH HABE DIE MÖGLICHKEITEN in 1-5 SWITCH ANWEISUNG EINGEBETTET. DOCH WIE BEKOMME ICH ES NUN HIN DAS HIER DER AUFRUF STATTFINDET UND DIE RECHENOPERATION STATTFINDET?

AUßERDEM WIRD WOHL MEIN ERGEBNIS BEI 4 und 5 kein double ausgeben.

Hier mein code:

Code:
import java.util.Scanner;


public class TaschenRechner {

	public static int Addieren (int zahl1, int zahl2) {
		 return  zahl1 + zahl2;
		  
		   
	     }
    
    public static int Subtrahieren (int zahl1, int zahl2) {
    	return zahl1 - zahl2;
    	
    
    }

    public static int Multiplizieren (int zahl1, int zahl2) {
		  return zahl1 * zahl2;
    	
	     
	     }
	     
    public static int Dividieren (int zahl1, int zahl2) {
    	
    	return zahl1 / zahl2;
    	
	     
	     }
	     
 
    public static int Prozent (int zahl1, int zahl2) {
    	   return zahl1 * 100 / zahl2;
    }
   
	
	   
	
	public static void eingabe(){
		
		
		Scanner sc = new Scanner(System.in);
		
		int zahl1,zahl2,ergebnis;
		
		
	   System.out.print("Systemausgabe:		");
   	   System.out.print("Bitte geben Sie einen ganzzahligen Wert ein:");
   	   System.out.println("");
   	   
      	zahl1 = sc.nextInt();
   
       
       System.out.print("usereingabe:		");
 	   System.out.println(zahl1);
 	   System.out.println("");
 	   
 	   System.out.print("Systemausgabe:		");
	   System.out.print("Bitte geben Sie einen weiteren ganzzahligen Wert ein:");
	   System.out.println("");
	   
	   zahl2 = sc.nextInt();
	  
	   
	   System.out.print("usereingabe:		");
 	   System.out.println(zahl2);
 	   System.out.println("");
 	   
 	   System.out.print("Systemausgabe:		");
	   System.out.println("Bitte geben Sie die gewünschte Operation an");
	   System.out.println("			(" + 1 + " = " + "Addieren; " + 2 + " = " + "Subtraktion;" + 3 + " = ");
	   System.out.print("			 Multiplikation; " + 4 + " = " + "Division; " + 5 + " = " + "Prozent; )" );
	   
	   ergebnis =  sc.nextInt();
	   
	  
	   System.out.print("usereingabe:		");
 	   System.out.println(ergebnis);
 	   System.out.println("");
	   
 	  System.out.print("Systemausgabe:		");
	  
	
 	 
 	    switch  (ergebnis) {
 	 
 	
 	case 1 : System.out.print(zahl1 + " + " + zahl2);
	         System.out.print (" = " );
 	         ergebnis = Addieren(zahl1,zahl2);
 	break;
 			
 
 	case 2: System.out.print(zahl1 + " - " + zahl2);
			System.out.print (" = " );
			ergebnis = Subtrahieren(zahl1,zahl2);
 			
 	break;
 	
 	case 3:	System.out.print(zahl1 + " * " + zahl2);
			System.out.print (" = " );
			ergebnis = Multiplizieren(zahl1,zahl2);
			 
 	break;
 	
 	case 4:
 			System.out.print(zahl1 + " / " + zahl2);
			System.out.print (" = " );
			ergebnis = Dividieren(zahl1,zahl2);
 		
	break;
 	
 	case 5:  
 			System.out.print(zahl1 + " * 100 / " + zahl2);
			System.out.print (" = " );
			ergebnis = Prozent(zahl1,zahl2);
 	break;
 	
 	}
 	}
 	
 	

public static void main (String[] args){
	
	eingabe();

	

}

}

hoffentlich kann mir einer helfen, komme so langsam ins schwitzen. (zeitdruck uni)
mfg
p.tryfle
 

nO-0n3

Mitglied
Hi!
Du bekommst deshalb keine Ausgabe vom Ergebnis weil du es nicht ausgibst ;)

Du könntest es z.B so ändern:
Java:
System.out.print(zahl1 + " + " + zahl2);
ergebnis = Addieren(zahl1,zahl2);	         
System.out.print (" = "+ergebnis);

Und damit du double bekommst darfst du kein int verwenden^^
 
G

Gastredner

Gast
Du musst das Ergebnis nicht nur berechnen, sondern es auch ausgeben:
Java:
case 5:  
 			System.out.print(zahl1 + " * 100 / " + zahl2);
			System.out.print (" = " );
			ergebnis = Prozent(zahl1,zahl2);
System.out.println(ergebnis); // Hier ausgeben.
// Alternativ: System.out.println(Prozent(zahl1, zahl3); - spart eine Zeile.
 	break;

Rückgabewerte der Methoden müssen double sein, damit du auch double-Werte kriegst.

Hups, da war wohl jemand schneller...
 

p.tryfle

Mitglied
oh ja stimmt, vielen dank, das war ein klarer Anfängerfehler:applaus:

Eine weitere Frage ergibt sich wenn ich die Rückgabewerte der Methoden Dividieren und Prozent in double verändere:
Dann bekomme ich im Switch - Block eine Fehlermeldung, da ich ja ergebnis als int deklariert habe.
Doch ich darf nur bei den beiden Operationen Prozent und Dividieren double ausgeben.
Und wenn ich int ergebnis in double ergebnis umändere kann der Switch-Block nicht mehr ausgeführt werden. Switch unterstützt wohl kein double..
Wie kann ich da noch eine sinnvolle Typänderung vornehmen ohne das garnichts mehr funktioniert?

mfg
p.tryfle

hier der neue code
Code:
import java.util.Scanner;


public class TaschenRechner {

	








	public static int Addieren (int zahl1, int zahl2) {
		 return  zahl1 + zahl2;
		  
		   
	     }
    
    public static int Subtrahieren (int zahl1, int zahl2) {
    	return zahl1 - zahl2;
    	
    
    }

    public static int Multiplizieren (int zahl1, int zahl2) {
		  return zahl1 * zahl2;
    	
	     
	     }
	     
    public static double Dividieren (int zahl1, int zahl2) {
    	
    	return zahl1 / zahl2;
    	
	     
	     }
	     
 
    public static double Prozent (int zahl1, int zahl2) {
    	   return zahl1 * 100 / zahl2;
    }
   
	
	   
	
	public static void eingabe(){
		
		
		Scanner sc = new Scanner(System.in);
		
		int zahl1,zahl2;
		int ergebnis;
		
		
	   System.out.print("Systemausgabe:		");
   	   System.out.print("Bitte geben Sie einen ganzzahligen Wert ein:");
   	   System.out.println("");
   	   
      	zahl1 = sc.nextInt();
   
       
       System.out.print("usereingabe:		");
 	   System.out.println(zahl1);
 	   System.out.println("");
 	   
 	   System.out.print("Systemausgabe:		");
	   System.out.print("Bitte geben Sie einen weiteren ganzzahligen Wert ein:");
	   System.out.println("");
	   
	   zahl2 = sc.nextInt();
	  
	   
	   System.out.print("usereingabe:		");
 	   System.out.println(zahl2);
 	   System.out.println("");
 	   
 	   System.out.print("Systemausgabe:		");
	   System.out.println("Bitte geben Sie die gewünschte Operation an");
	   System.out.println("			(" + 1 + " = " + "Addieren; " + 2 + " = " + "Subtraktion;" + 3 + " = ");
	   System.out.print("			 Multiplikation; " + 4 + " = " + "Division; " + 5 + " = " + "Prozent; )" );
	   
	   ergebnis =  sc.nextInt();
	   
	  
	   System.out.print("usereingabe:		");
 	   System.out.println(ergebnis);
 	   System.out.println("");
	   
 	  System.out.print("Systemausgabe:		");
	  
	
 	 
 	    switch  (ergebnis) {
 	 
 	
 	case 1 : System.out.print(zahl1 + " + " + zahl2);
	         ergebnis = Addieren(zahl1,zahl2);
 	         System.out.print(" = " + ergebnis);
 	break;
 			
 
 	case 2: System.out.print(zahl1 + " - " + zahl2);
 			ergebnis = Subtrahieren(zahl1,zahl2);
			System.out.print(" = " + ergebnis);
 			
 	break;
 	
 	case 3:	System.out.print(zahl1 + " * " + zahl2);
			ergebnis = Multiplizieren(zahl1,zahl2);
			System.out.print(" = " + ergebnis);
 	break;
 	
 	case 4:
 			System.out.print(zahl1 + " / " + zahl2);
			ergebnis = Dividieren(zahl1,zahl2); //hier ist der fehler type mismatch
			System.out.print(" = " + ergebnis);
	break;
 	
 	case 5:  
 			System.out.print(zahl1 + " * 100 / " + zahl2);
		    ergebnis =  Prozent(zahl1,zahl2); //hier ist der fehler type mismatch
			System.out.print(" = " + ergebnis);
 	break;
 	
 	}
 	}
 	
 	

public static void main (String[] args){
	
	eingabe();
	

	

}



}
 

faetzminator

Gesperrter Benutzer
nein, ergebnis ist einfach ein int und bleibt ein int. ein int ist kein double. mach doch zb mal double doubleErgebnis, dann geht das auch
 

p.tryfle

Mitglied
Sorry ich verstehe nicht wie ich das hier einbauen soll, denn die variable int ergebnis läuft
ist ja in die scanner klasse eingebunden, und bekommt die werte zugewiesen, wenn ich jetzt eine neue Variable deklariere bekomme ich die meldung - never read.

mfg
p.tryfle
 

nO-0n3

Mitglied
Das vielleicht einfachste in deinem Fall wäre (falls das ergbnis nicht mehr weiter gebraucht wird)
es gar nicht zwischenspeichern sondern einfach ausgeben.
Dann kannst du die divid.und pot. methoden double machen und auch double zurückgeben.
Bei der Ausgabe genügt dann einfach:
Java:
System.out.println(Prozent(zahl1, zahl3));
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
XWing Int erstellen lassen? Java Basics - Anfänger-Themen 11
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
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
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S Programm erstellen Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
T Countdown erstellen Java Basics - Anfänger-Themen 7
I ZIP File erstellen Java Basics - Anfänger-Themen 10
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
E Classpath Datai erstellen Java Basics - Anfänger-Themen 3
B eine methode erstellen Java Basics - Anfänger-Themen 7
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
M Packages erstellen mit Java-Editor Java Basics - Anfänger-Themen 6
L FinanzApp erstellen Java Basics - Anfänger-Themen 1
J Junit4 Klasse erstellen Java Basics - Anfänger-Themen 5
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
JaVaN0oB Bruchklasse erstellen Java Basics - Anfänger-Themen 9
N Kreismuster auf Bestehendem Kreis erstellen Java Basics - Anfänger-Themen 10
K Rahmen erstellen mit mehrdimensionalem Array Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
GermanPie Discord Text Channel erstellen? Java Basics - Anfänger-Themen 1
K Objektdiagramm erstellen Java Basics - Anfänger-Themen 3
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
D Klassen Klassendiagramm richtig erstellen Java Basics - Anfänger-Themen 20
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
E Filmsammlung erstellen Java Basics - Anfänger-Themen 6
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
M Erstellen eines insets Objekts, GridBagLayout Java Basics - Anfänger-Themen 13
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
N String N-Gramme mit Stream erstellen Java Basics - Anfänger-Themen 7
K Quersumme erstellen Java Basics - Anfänger-Themen 7
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
C Erstellen eines Widerstandsnetzwerks Java Basics - Anfänger-Themen 10
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
A Taschenrechner mit Gui erstellen Java Basics - Anfänger-Themen 9
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
D Zusammenhängenden Graphen für Gleisnetz erstellen Java Basics - Anfänger-Themen 13
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
M Writer für unterschiedliche Obj/inbt/double erstellen? Java Basics - Anfänger-Themen 1
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
P Fractal erstellen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben