Methoden und Werte

PutinI

Mitglied
Ich hätte eine bitte! Ich muss einen Taschenrechner schreiben! Da muss ich mit der Methode calc Rechnen. Mit der Methode calculator() Die zahlen und operator einlesen und dan hab ich noch getOperator() wo ich die zulässigen Operatoren vergleiche und wenns nicht einer von denen ist macht er automatisch ein +. So jetzt mal das was ich schon habe!


Java:
import java.util.Scanner;
 
 
public class Aufgabe3a {
 
    /**
     * @param args
     */
    
         static void calc (int calculator, int z2, char getOperator)
    {
       
        int z1 = calculator;
        
        System.out.println("calc = " + calculator );
        
        switch (getOperator){
       
        case'+':
            int s = z1 + z2;
            System.out.println("Das Ergebniss von " +z1+ " + " +z2+ " ist: " +s);
            break;
   
        case'-':
            s = z1 - z2;
            System.out.println("Das Ergebniss von " +z1+ " - " +z2+ " ist: " +s);
            break;
           
        case'*':   
            s = z1 * z2;
            System.out.println("Das Ergebniss von " +z1+ " * " +z2+ " ist: " +s);
            break;
           
        case'/':
            s = z1 / z2;
            System.out.println("Das Ergebniss von " +z1+ " / " +z2+ " ist: " +s);
            break;
       
       
        }}
   
   
   
       static int calculator(){
       
       
        Scanner sc = new Scanner(System.in);
       
        System.out.println("Geben Sie die erste Zal ein: ");
        int z1 = sc.nextInt();
       
       
        System.out.println("Geben Sie die zweite Zahl ein: ");
        int z2 = sc.nextInt();
        
       
        System.out.println("Geben Sie einen Operator(+,-,*,/) ein: ");
        getOperator();
        return z1;
   
    }
   
   
   
       public static char getOperator()
    {
        Scanner s = new Scanner(System.in);
                    
        String op = s.next();               
        char c = (op.matches("[+-/\\*]"))  ? op.charAt(0) : '+';
        
        return c;                   
    }
       
       
    
   
   
   
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
       
        int z1 = 0, z2 = 0, s = 0;
        char o = 0;
       
       
        calculator();
        //getOperator();
        //calc(calculator(), z2, getOperator());
       
 }
    }

So jetzt steck ich fest! Was mach ich da falsch! getOperator() haut mal hin. Dann calc() passt auch!

Was ich nicht weiß wie ich von calculator() zwei werte der Methode calc() übergeben kann! Und dann sollte es noch so sein das man einen Menüpunkt am Ende hat wo man fortfahren oder abbrechen kann! Mit J/N!

Bitte um hilfe!
 
M

Marcinek

Gast
Calculator erfragt 3 werte, es wird nur einer zurückgegeben und einer (Operator) verschwindet im nirwana
 
S

SlaterB

Gast
hier ein wenig Fortschritt
Java:
class Aufgabe3a {

	static Scanner s = new Scanner(System.in);

	static void calc(int calculator, int z2, char getOperator) {

		int z1 = calculator;

		System.out.println("calc = " + calculator);

		switch (getOperator) {

		case '+':
			int s = z1 + z2;
			System.out.println("Das Ergebniss von " + z1 + " + " + z2
					+ " ist: " + s);
			break;

		case '-':
			s = z1 - z2;
			System.out.println("Das Ergebniss von " + z1 + " - " + z2
					+ " ist: " + s);
			break;

		case '*':
			s = z1 * z2;
			System.out.println("Das Ergebniss von " + z1 + " * " + z2
					+ " ist: " + s);
			break;

		case '/':
			s = z1 / z2;
			System.out.println("Das Ergebniss von " + z1 + " / " + z2
					+ " ist: " + s);
			break;
		default:
			System.out.println("hier stimmt was nicht");
		}
	}

	public static char getOperator() {
		String op = s.next();
		char c = (op.matches("[+/\\*-]")) ? op.charAt(0) : '+';
		return c;
	}

	public static void main(String[] args) {
		System.out.println("Geben Sie die erste Zal ein: ");
		int z1 = s.nextInt();

		System.out.println("Geben Sie die zweite Zahl ein: ");
		int z2 = s.nextInt();

		System.out.println("Geben Sie einen Operator(+,-,*,/) ein: ");
		char c = getOperator();

		calc(z1, z2, c);
	}
}
ich habe dein Pattern überarbeitet,
bei [+-/\\*] war das - ein Bereich 'alles von + bis /', da ist praktischerweise das Minus-Zeichen auch mit drin, aber auch Komma und andere, siehe
ASCII-Tabelle
das - muss ans Ende in den eckigen Klammern, dann ist es wirklich nur ein -

Scanner besser nur einmal als statische Variable anlegen, nicht ständig neu
 

PutinI

Mitglied
SlaterB vielen Dank! Naja leider ist es nicht so gelöst wie es vorgegeben bekommen hab! Deswegen ärdere ich mich ja auch so!

Schreiben Sie ein Programm Aufgabe4.java, das folgende Methoden implementiert.

a) Implementieren Sie eine Methode calc, welche als Parameter zwei Int‐Werte und einen Char‐Wert
erhält und einen Int‐Wert als Ergebnis liefert. Die Methode soll abhängig vom übergebenen Zeichen
(+, ‐, *, /) die beiden Int‐Werte addieren/subtrahieren/multiplizieren/dividieren.

b) Implementieren Sie eine Methode calculator(). In dieser Methode soll der Benutzer einen
Rechenoperator und zwei Zahlen über die Konsole eingeben, welche dann an die Methode calc()
übergeben werden. Zum Einlesen des Zeichens verwenden Sie die gegebene Methode
getOperator(), welche sicherstellt, dass nur eine erlaubte Rechenoperation eingegeben werden
kann bzw. im Fall einer falsche Eingabe standardmäßig den '+' Operator zurückliefert. Das Ergebnis soll
über die Konsole ausgegeben werden. Anschließend soll der Benutzer gefragt werden, ob er eine
weitere Berechnung durchführen will (j/n), ist die Antwort "Ja", so sollen wieder zwei Zahlen sowie ein
Operator eingelesen und berechnet werden, bei "Nein", bricht das Programm ab. Ein Programmlauf
von Aufgabe2.java könnte zum Beispiel wie folgt aussehen:

Geben Sie die erste Zahl ein: 5
Geben Sie die zweite Zahl ein: 10
Geben Sie einen Operator (+,-,*, /) ein: *

Das Ergebnis von 5 * 10 ist: 50

Weitere Berechnung durchführen (j/n)?
n
 
Zuletzt bearbeitet:
S

SlaterB

Gast
dann verschiebe doch alles aus der main in die Methode..
(falls du dich auf meinen Code beziehst, nochmal ein Hinweis darauf bei so vielen Postings gleichzeitig ;) )
 

PutinI

Mitglied
Ja und genau das is ja das problem! Dann hab ich einen neue Methode wie zB.:

Java:
static int calculator(){
       
       
        Scanner sc = new Scanner(System.in);
       
        System.out.println("Geben Sie die erste Zal ein: ");
        int z1 = sc.nextInt();
       
        
       
        System.out.println("Geben Sie die zweite Zahl ein: ");
        int z2 = sc.nextInt();
        
       
        System.out.println("Geben Sie einen Operator(+,-,*,/) ein: ");
        getOperator();

jetzt die erste frage wie kann ich dann z1 und z2 weitergeben an calc()
und darf ich "getOperator();" machen damit er dan in die Methode geht?
 
S

SlaterB

Gast
hast du meinen Code nun gesehen oder nicht?
kopiere den kompletten Inhalt der main-Methode aus meinen Code in deine calculator()-Methode,
dein jetzt wiederholter Code vom allerersten Posting enthält diverse Fehler, ganz unabhängig davon, WO dieser Code steht

ein Rückgabewert int ist für calculator() meiner Ansicht nach nicht gefordert
 

PutinI

Mitglied
wie es aussieht denk ich da viel viel zu kompliziert! Ich denke immer das ich noch die Methode wie zB.: static void calculator()
schreiben muss! so dann pack ich da das was eingelesen werden muss da rein!
Java:
System.out.println("Geben Sie die erste Zal ein: ");
	        int z1 = s.nextInt();
	 
	        System.out.println("Geben Sie die zweite Zahl ein: ");
	        int z2 = s.nextInt();
	 
	        System.out.println("Geben Sie einen Operator(+,-,*,/) ein: ");
	        char c = getOperator();

Die pack ich ober der main wo hin! Aber wei bekomm ich da die Werte raus? Oder versteh ich da die angebe schon ganz falsch?
"Implementieren Sie eine Methode calculator(). In dieser Methode soll der Benutzer einen
Rechenoperator und zwei Zahlen über die Konsole eingeben, welche dann an die Methode calc()
übergeben werden"
 
Zuletzt bearbeitet:
S

SlaterB

Gast
diese 8 Zeilen zusammen mit dem calc(3 Parameter)-Aufruf entsprechen genau dem zitierten Teil der Aufgabe,
abgesehen davon dass du das ganze in die Methode calculator() verschieben sollst statt es in der main() zu belassen
 

PutinI

Mitglied
genau ich muss eine eigene Methode mit namen calculator dafür auserhalb der main machen! Und ich steh vor dem problem wie ich da die 3 werte ausgeben kann zumindest auf calc übertragen übergeben kann.
 
S

SlaterB

Gast
Java:
static void calculator(){
        System.out.println("Geben Sie die erste Zal ein: ");
        int z1 = s.nextInt();
 
        System.out.println("Geben Sie die zweite Zahl ein: ");
        int z2 = s.nextInt();
 
        System.out.println("Geben Sie einen Operator(+,-,*,/) ein: ");
        char c = getOperator();
 
        calc(z1, z2, c);
}
?!

kompletten Code meiner main-Methode in diese calculator()-Methode verschieben?!
was ist daran denn unverständlich?!
 

PutinI

Mitglied
Gott bin ich begriffsstützig! Ja danke! Leider verwende ich Java erst seit 2 Tagen und habs früher noch nicht verwendet!
Jetzt muss ich nur noch das J/N Menü erledigen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
X Default-Werte für Methoden-/Funktions-Parameter Allgemeine Java-Themen 2
B Leere vererbte Interface-Methoden Allgemeine Java-Themen 8
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
Encera Unterschied zweier "toString"-Methoden Allgemeine Java-Themen 1
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
B Arrays von Methoden möglich? Allgemeine Java-Themen 44
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
N abstracte klassen methoden Allgemeine Java-Themen 32
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
nonickatall Methoden Kann man Klassen/Methoden aus Variablen heraus aufrufen? Allgemeine Java-Themen 6
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
B Methoden Java Getter und Setter Methoden Allgemeine Java-Themen 9
Y Java Methoden unterschiedliche Zahlenreihen Allgemeine Java-Themen 2
S Interface Design von HookUp oder Callback Methoden für eigenes Framework Allgemeine Java-Themen 9
F Sich automatisch aufrufende Java-Methoden Allgemeine Java-Themen 2
J Namen von Methoden über Reguläre Ausdrücke bearbeiten Allgemeine Java-Themen 6
D Methoden Methoden anpassen und fehlende Funktionen hinzufügen Allgemeine Java-Themen 475
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
R Statistische Methoden (Mathematik) Aufgabe Allgemeine Java-Themen 9
X Brüche kürzen mittels Methoden und ggT Allgemeine Java-Themen 15
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
L mehrere Methoden Allgemeine Java-Themen 19
KeexZDeveoper Zugriff auf Methoden vom Server Allgemeine Java-Themen 7
B StAX Parser - mehrere Methoden, ein XML Allgemeine Java-Themen 4
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
A Automatisches Methoden Laufzeiten logging? Allgemeine Java-Themen 7
M Quellcode von Java-Methoden Allgemeine Java-Themen 9
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
N HashMap und Methoden richtig einbinden Allgemeine Java-Themen 2
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
Q-bert Methoden Methoden in Java Allgemeine Java-Themen 13
D Methoden Java-Aufgabe Allgemeine Java-Themen 2
M Compiler-Fehler Methoden-Referenz Allgemeine Java-Themen 5
X Threads Externe Variablen in Run Methoden verändern Allgemeine Java-Themen 4
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
E OOP Objekte und Methoden Allgemeine Java-Themen 1
K Java ruft Methoden nicht der Reihe nach auf Allgemeine Java-Themen 14
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
T Java Array in Methoden Allgemeine Java-Themen 1
D Code für bereitgestellte Methoden Allgemeine Java-Themen 1
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
R Signatur von Methoden in eine Datei schreiben? Allgemeine Java-Themen 4
A Methoden verändern Allgemeine Java-Themen 12
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
J Best Practice Testen von protected Methoden Allgemeine Java-Themen 7
L Methoden "Schiffe versenken" Quellcode in Methoden umwandeln Allgemeine Java-Themen 6
G Matrix reduzieren zwei Methoden Allgemeine Java-Themen 2
Sogomn Best Practice "Doppelte" Methoden Allgemeine Java-Themen 3
Paul15 String Methoden Allgemeine Java-Themen 7
G Methoden BMI -Wert Aufgabe(Methoden) Allgemeine Java-Themen 4
F Testen von Methoden Allgemeine Java-Themen 3
S "Vererben" statischer Felder/Methoden Allgemeine Java-Themen 4
F Methoden in der Enumeration Klasse Allgemeine Java-Themen 1
S Methoden ohne Methodenkopf ?! Allgemeine Java-Themen 5
T Überschreiben von Methoden Allgemeine Java-Themen 6
M Methoden werden in falscher Reihenfolge bearbeitet Allgemeine Java-Themen 10
S Methoden Methoden überschreiben Allgemeine Java-Themen 3
N Threads statische Methoden in Threads Allgemeine Java-Themen 5
O Java-Obfuscator, welcher einzelne Methoden, Klassen und Ordnerstrukturen ausnehmen kann. Allgemeine Java-Themen 1
A also definition von klassen und string methoden und algorithmik Allgemeine Java-Themen 13
X Eigene Annotation - mit Bedingung für ganze Klassen oder Methoden Allgemeine Java-Themen 2
A Threads Lock über mehrere Abschnitte in verschiedenen Methoden Allgemeine Java-Themen 5
S Methoden Frage Allgemeine Java-Themen 2
R Wie kann man diese Methoden in arrays etablieren? Allgemeine Java-Themen 8
M Methoden in Rescources speichern Allgemeine Java-Themen 4
G Synchronisation nicht statischer Methoden Allgemeine Java-Themen 4
A Vererbung finale Methoden überschreiben Allgemeine Java-Themen 24
A Methoden parallelisieren? Allgemeine Java-Themen 2
L Methoden methoden an generischen klassentyp anpassen Allgemeine Java-Themen 5
C Methoden Übernahme von standart nativen Methoden? Allgemeine Java-Themen 9
B Zusammenfassen verschiedener ähnlicher Methoden Allgemeine Java-Themen 8
K JNI: Methoden aus unterschiedlichen Threads aufrufen Allgemeine Java-Themen 3
P Unterschiedliche Clone- Methoden Allgemeine Java-Themen 5
MQue Spezialfrage Überschreiben von Methoden Allgemeine Java-Themen 14
B Methoden Alle Methoden und Variablen aus Java-Dateien auslesen. Allgemeine Java-Themen 7
MiMa Rekursive Methoden Allgemeine Java-Themen 3
S Programm das alle aufgerufenen Methoden ausgibt..? Allgemeine Java-Themen 6
F ListIterator (next & previous methoden) Allgemeine Java-Themen 5
W Frage zu Refactoring statischer Methoden Allgemeine Java-Themen 4
M Methoden/Klassen für andere Projekte Allgemeine Java-Themen 4
T Methoden per String-Namen aufrufen Allgemeine Java-Themen 2
C Kapselung Warum graift man auf Variablen nur über Methoden und nich direkt zu? Allgemeine Java-Themen 10
M Methoden Static Methoden und Thread??? Allgemeine Java-Themen 4
A Methoden ohne Referenzen finden Allgemeine Java-Themen 9
turmaline OOP zwei gleiche Methoden mit kleinen Unterschieden Allgemeine Java-Themen 15
G JUnit Test Methoden in anderen Thread verlagern Allgemeine Java-Themen 4
K Auf Methoden der Runnable Klasse zugreifen Allgemeine Java-Themen 2
S Methoden Class.forName() >> Methoden - Reihenfolge Allgemeine Java-Themen 5
D Passende Name für Methoden finden Allgemeine Java-Themen 3
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
A Methoden laufen im Konstruktor, außerhalb allerdings nicht Allgemeine Java-Themen 2
M Generische Methoden mit Java und globale Variablen Allgemeine Java-Themen 9
GianaSisters ArrayList in Methoden übergeben Allgemeine Java-Themen 3
S static methoden Allgemeine Java-Themen 9
J coole Methoden Allgemeine Java-Themen 6
R Methoden in einem Thread unterschiedlich oft ausführen Allgemeine Java-Themen 4
A OOP: Überschreiben/Implementierung von Methoden Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben