Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wert in einer Klasse 1 ein-/ausgeben, in Klasse 2 ausrechen?
Ich habe z.B 2 Dateien. Rech.java und Ein_Ausgabe.java
Die Klasse Ein_Ausgabe sieht ca so aus:
Code:
import java.util.Scanner;
public class Ein_Ausgabe {
int c = Rech.Produkt();
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int a =scan.nextInt();
System.out.println();
int b =scan.nextInt();
System.out.println();
System.out.println(c);
}
}
Die Klasse Rech.java sieht dann in etwa so aus:
Code:
public class Rech {
private int a;
private int b;
public int c;
public Rech(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
public void setA(int a) {
this.a = a;
}
public int getA() {
return a;
}
public void setB(int B) {
this.b = b;
}
public int getB() {
return b;
}
public int Produkt () {
c = a*b;
return c;
}
}
Die Klasse Ein_Ausgabe soll als Eingabe-'Medium' dienen. a und b sollen eingegeben werden, in der Klasse Rech soll dann c [Produkt von a*b] ausgerechnet werden und wieder an die Klasse Ein_Ausgabe zurück geliefert werden und ausgegeben werden.
Was fehlt da noch, damit das funktioniert?
Folgende Fehler werden ausgegeben:
Code:
Ein_Ausgabe.java:5: non-static method Produkt() cannot be referenced from a static context
int c = Rech.Produkt();
^
Ein_Ausgabe.java:13: non-static variable c cannot be referenced from a static context
System.out.println(c);
^
2 errors
Überlege dir deinen Ansatz nochmal, er ist unnötig kompliziert.
Hier mal ein kleinen Beispiel:
Klasse Eingabe...
Java:
public class Ein_Ausgabe {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.println();
int b = scan.nextInt();
System.out.println();
System.out.println(Rechnen.product(a, b));
}
}
Die Klasse Rechnen...
Java:
public class Rechnen {
public static int product(int a, int b) {
return (a*b);
}
}
Und das könnte auch noch hilfreich sein Static method
weiß du denn irgendwas über Programmierung allgemein oder Java?
z.B. ist Reihenfolge der Ausführung recht wichtig, die hier in etwa wie meistens der Reihenfolge des Quellcodes entspricht,
wie willst du am Anfang der Klasse Ein_Ausgabe den Wert c ausrechnen, wenn a und b erst später eingelesen werden?
dass Rech von a und b erfahren muss, über Konstruktor oder set-Methoden, ist doch auch nicht schwer?
// a einlesen
// b einlesen
// Rech-Objekt erstellen, mit a und b versorgen
// Rech-Objekt nach c abfragen
// c ausgeben
es gibt hier im Forum übrigens JAVA-Tags statt CODE-Tags