Methoden Ausgabe erfolgt nicht

Hallo JAVA Kommune,

mein kleines Programm soll bei Eingabe der Zahlen die größer 1 bzw. kleiner 0 sind den Text ausgeben.
Macht es aber nicht!
Kann mir vielleicht jemand helfen?
Vielen Dank im Voraus.


Java:
public class binaryAddEA2 {
	int Ü1, Ü2;      //Variablen für Eingabe, Übertrag, Ausgabe
	int A1, A2, A3;
    int E11 = 2; // zu große Zahl
    int E12 = 1;
    int E21 = 0;
    int E22 = 0;

public void check (int E11,int E12,int E21,int E22) {
	if (E11>1 || E11<0) {
	System.out.println("bitte eine gültige binäre Zahl eingeben");}// Wertebereich der Variablen
	if (E12>1 || E12<0) {
	System.out.println("bitte eine gültige binäre Zahl eingeben");}// wird überprüft
	if (E21>1 || E21<0) {
	System.out.println("bitte eine gültige binäre Zahl eingeben");}// und gegebenenfalls eine
	if (E22>1 || E22<0)
	System.out.println("bitte eine gültige binäre Zahl eingeben");}// Neueingabe gefordert

public static void main (String[] args) {
	}
}
 
Du wirst in der main die Methode check auch noch aufrufen müssen, mit so einer Zeile z.B.:

[c]new binaryAddEA2().check(E11, E12, E21, E22);[/c]

Dann möchte ich noch darauf hinweisen, dass man Klassen groß und Variablen klein schreibt.
 
Vielen Dank für die schnelle Antwort.

ich habe die Bezeichnervereinbarungen umgesetzt und in die main Methode den Aufruf der Methode check initialisiert.
Jetzt erhalte ich die folgende Meldung:

Java:
java:25: error: method check in class BinaryAddEA2 cannot be applied to given types;
  c.check();
   ^
  required: int,int,int,int
  found: no arguments
  reason: actual and formal argument lists differ in length
1 error

Prozess beendet mit Exit-Code 1

Was das bedeutet ist mir im Prinzip klar, aber wie bekomme ich es umgesetzt dass mir die methode check die int Variablen nach der Vorgabe prüft.

Ein frohes Pfingstfest an Alle

Hier der derzeitige Programmcode:

Java:
public class BinaryAddEA2 {
	int ü1, ü2;      //Variablen für Eingabe, Übertrag, Ausgabe
	int a1, a2, a3;
    int e11 = 2; // zu große Zahl
    int e12 = 1;
    int e21 = 0;
    int e22 = 0;

void check (int e11,int e12,int e21,int e22) {
	if (e11>1 || e11<0) {
	System.out.println("bitte eine gültige binäre Zahl eingeben");
	}                                                              // Wertebereich der Variablen
	if (e12>1 || e12<0) {
	System.out.println("bitte eine gültige binäre Zahl eingeben");
	}                                                              // wird überprüft
	if (e21>1 || e21<0) {
	System.out.println("bitte eine gültige binäre Zahl eingeben");
	}                                                              // und gegebenenfalls eine
	if (e22>1 || e22<0)
	System.out.println("bitte eine gültige binäre Zahl eingeben");
	}                                                              // Neueingabe gefordert

public static void main (String[] args) {
  BinaryAddEA2 c = new BinaryAddEA2();
  c.check();
  }
}
 
wenigstens kompilierfähig, aber nicht sinnvoll...

Java:
public class BinaryAddEA2 {
	int ü1, ü2; // Variablen für Eingabe, Übertrag, Ausgabe
	int a1, a2, a3;
	int e11 = 2; // zu große Zahl
	int e12 = 1;
	int e21 = 0;
	int e22 = 0;

	public BinaryAddEA2() {
		check(e11, e12, e21, e22);
	}

	void check(int e11, int e12, int e21, int e22) {
		if (e11 > 1 || e11 < 0) {
			System.out.println("bitte eine gültige binäre Zahl eingeben");
		} // Wertebereich der Variablen
		if (e12 > 1 || e12 < 0) {
			System.out.println("bitte eine gültige binäre Zahl eingeben");
		} // wird überprüft
		if (e21 > 1 || e21 < 0) {
			System.out.println("bitte eine gültige binäre Zahl eingeben");
		} // und gegebenenfalls eine
		if (e22 > 1 || e22 < 0)
			System.out.println("bitte eine gültige binäre Zahl eingeben");
	} // Neueingabe gefordert

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

	}
}

aber ohne Eingabe, wird das nichts...
 
Zuletzt bearbeitet:
Du hast eine void programmiert, der Werte (in Form von Integer) beim Aufruf übergeben werden müssen. Wenn du die void check mit
Java:
c.check()
aufrufst, übergibst du ihr keine Werte.
Du hast also 2 Möglickeiten:
1. Du änderst deine void check, sodass sie keine Werte beim Aufruf braucht,
oder
2. Du übergibst ihr Werte in Form der Variablen beim Aufruf.

Ich hoffe, ich habe deine Frage richtig verstanden?

Lösung zu 1.
Java:
public class BinaryAddEA2 {
    int ü1, ü2;      //Variablen für Eingabe, Übertrag, Ausgabe
    int a1, a2, a3;
    int e11 = 2; // zu große Zahl
    int e12 = 1;
    int e21 = 0;
    int e22 = 0;
 
void check () {
    if (e11>1 || e11<0) {
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // Wertebereich der Variablen
    if (e12>1 || e12<0) {
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // wird überprüft
    if (e21>1 || e21<0) {
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // und gegebenenfalls eine
    if (e22>1 || e22<0)
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // Neueingabe gefordert
 
public static void main (String[] args) {
  BinaryAddEA2 c = new BinaryAddEA2(); 	// Erstellen einer BinaryAddEA2-Klasse "c"
  c.check();		//Aufruf void check ohne Variablenübergabe
   }
}


Lösung zu 2.
Java:
public class BinaryAddEA2 {
    int ü1, ü2;      //Variablen für Eingabe, Übertrag, Ausgabe
    int a1, a2, a3;
    int e11 = 2; // zu große Zahl
    int e12 = 1;
    int e21 = 0;
    int e22 = 0;
 
void check (int e11,int e12,int e21,int e22) {
    if (e11>1 || e11<0) {
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // Wertebereich der Variablen
    if (e12>1 || e12<0) {
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // wird überprüft
    if (e21>1 || e21<0) {
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // und gegebenenfalls eine
    if (e22>1 || e22<0)
    System.out.println("bitte eine gültige binäre Zahl eingeben");
    }                                                              // Neueingabe gefordert
 
public static void main (String[] args) {
  BinaryAddEA2 c = new BinaryAddEA2(); 	// Erstellen einer BinaryAddEA2-Klasse "c"
  c.check(c.e11,c.e12,c.e21,c.e22);		//Aufruf void check von "c" mit Variablenübergabe (Variablen e11... von "c"
   }
}
 

Zurück
Oben