Hallo,
ich beschäftige mich seid ein paar Tagen mit Java, und habe davor bereits C++ (an)gelernt .
Gerade als ich meinte die Logik verstanden zu haben passierte mir doch folgender Fehler:
eine Variable falsch deklariert.
import java.util.Scanner;
public class Main {
static int zahl1;
static int zahl2;
static int auswahl;
public Main() {
Scanner eingabe = new Scanner(System.in);
System.out.println("Zahl 1: ");
zahl1 = eingabe.nextInt();
System.out.println("Zahl 2: ");
zahl2 = eingabe.nextInt();
System.out.println("1-Addition");
System.out.println("2-Multiplikation");
System.out.println("3-Division");
System.out.println("4-Subtraktion");
auswahl = eingabe.nextInt();
eingabe.close();
}
public static void main(String[] args) {
new Main();
if(auswahl == 1){
System.out.println("Ergebnis: "+ Addition.Addition(zahl1, zahl2) );
}
else if (auswahl == 2) {
System.out.println("Ergebnis: "+ Multiplikation.Multiplikation(zahl1, zahl2));
}
}
}
Dieses simple Programm erlaubt dem Benutzer 2 Zahlen einzugeben und mit einer dritten Eingabe eine Rechenmethode zu wählen, welche in einer anderen Klasse ausgelagert ist und mittels Addition.Addition(zahl1,zahl2) abgerufen wird (zb)
nun zu meiner Frage:
bevor der Code so stand wie er nun da steht hatte ich die Variablen zahl1 und zahl 2 an selbiger Stelle
folgendermassen deklariert:
int zahl1,zahl2;
dann bekam ich später beim aufrufen der Methode Addition aus der Klasse Addition den Fehler dass Zahl1 eine static variable sein müsse....allerdings verstehe ich nicht wieso, sie ist doch sogar in der selben Klasse, in übergeordneten Codeblöcken definiert, wieso brauche ich hier das static?
Ich glaube diese Problematik verstehen zu müssen, um meine Grundlagen doch so zu festigen wie ich sie für den weigern Verlauf brauche.
Danke schonmal für eure Antwort, ich hoffe ich kann in absehbarer Zeit auch den blutigen Anfängern helfen
ich beschäftige mich seid ein paar Tagen mit Java, und habe davor bereits C++ (an)gelernt .
Gerade als ich meinte die Logik verstanden zu haben passierte mir doch folgender Fehler:
eine Variable falsch deklariert.
import java.util.Scanner;
public class Main {
static int zahl1;
static int zahl2;
static int auswahl;
public Main() {
Scanner eingabe = new Scanner(System.in);
System.out.println("Zahl 1: ");
zahl1 = eingabe.nextInt();
System.out.println("Zahl 2: ");
zahl2 = eingabe.nextInt();
System.out.println("1-Addition");
System.out.println("2-Multiplikation");
System.out.println("3-Division");
System.out.println("4-Subtraktion");
auswahl = eingabe.nextInt();
eingabe.close();
}
public static void main(String[] args) {
new Main();
if(auswahl == 1){
System.out.println("Ergebnis: "+ Addition.Addition(zahl1, zahl2) );
}
else if (auswahl == 2) {
System.out.println("Ergebnis: "+ Multiplikation.Multiplikation(zahl1, zahl2));
}
}
}
Dieses simple Programm erlaubt dem Benutzer 2 Zahlen einzugeben und mit einer dritten Eingabe eine Rechenmethode zu wählen, welche in einer anderen Klasse ausgelagert ist und mittels Addition.Addition(zahl1,zahl2) abgerufen wird (zb)
nun zu meiner Frage:
bevor der Code so stand wie er nun da steht hatte ich die Variablen zahl1 und zahl 2 an selbiger Stelle
folgendermassen deklariert:
int zahl1,zahl2;
dann bekam ich später beim aufrufen der Methode Addition aus der Klasse Addition den Fehler dass Zahl1 eine static variable sein müsse....allerdings verstehe ich nicht wieso, sie ist doch sogar in der selben Klasse, in übergeordneten Codeblöcken definiert, wieso brauche ich hier das static?
Ich glaube diese Problematik verstehen zu müssen, um meine Grundlagen doch so zu festigen wie ich sie für den weigern Verlauf brauche.
Danke schonmal für eure Antwort, ich hoffe ich kann in absehbarer Zeit auch den blutigen Anfängern helfen