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.
OOPAttribute von Klasse in die public class übertragen?
Hi Leute,
habe hier ein kleines Problem: Wie übergebe ich ein Attribut aus der Klasse 1 in die Hauptklasse. Hier mal wie ich das genau meine:
Java:
public void Abfrage1 () throws IOException
{
System.out.print("Bitte ersten Wert angeben:");
InputStreamReader a1 = new InputStreamReader(System.in); //Lesen der Eingabe
BufferedReader br1 = new BufferedReader(a1);
String eingabe1 = br1.readLine();
int put1 = Integer.parseInt(eingabe1);
}
Das ist meine Nebenklasse "Abfrage", darin wird eine Eingabe nach einer Zahl gefordert. Diese gibt der User an, wird in ein Integer konvertiert und in der Variable put1 gespeichert.
Wie kriege ich das put1 jetzt in meine Hauptklasse.
Java:
public static void main(String[] args) throws IOException {
ersteZahl abfr1 = new ersteZahl();
abfr1.Abfrage1();
System.out.println("Eingabe1:" + put1);
Bei put1 sagt der Compiler "cannot find symbol" was mir auch iwie logisch erscheint, aber ich weiß nicht wie ich das beheben soll.
Habe schon mit return put1 versucht, aber entweder an der falschen Stelle gesetzt oder man löst es anders. Bin um jeden Tipp dankbar, bzw Googlestichpunkte, die dieses Problem beheben.
Ich würde mit gettern und settern arbeiten. Dann kannst du in deiner Hauptklasse eine Instanz der Nebenklasse machen und mit nebenklasse.getPut1() den Wert bekommen.
Hier ein kleines Beispiel
Java:
public class Classla {
public static void main (String[]args){
ClasslaTest t = new ClasslaTest();
System.out.println(t.getPut1());
}
}
class ClasslaTest{
private int put1;
public void setPut1(int put1){
this.put1 = put1;
}
public int getPut1(){
return put1;
}
}
Danke für die schnellen Antwort.
Also mit dem Getter muss ich mir mal genauer angucken und mich da ein bisschen reinfuchsen.
@faetzminator
Ja, das habe ich auch bereits ausprobiert, es hat allerdings nicht funktioniert, deshalb habe ich es wieder verworfen. Hier wie ich das verstanden habe:
Java:
public int Abfrage1 () throws IOException
{
System.out.print("Bitte ersten Wert angeben:");
InputStreamReader a1 = new InputStreamReader(System.in); //Lesen der Eingabe
BufferedReader br1 = new BufferedReader(a1);
String eingabe1 = br1.readLine();
int put1 = Integer.parseInt(eingabe1);
return put1;
}
public class Hund {
public static void main(String[] args) throws IOException {
ersteZahl abfr1 = new ersteZahl();
abfr1.Abfrage1();
System.out.println("Eingabe1:" + put1);
}
}
Fehler ist unverändert bei put1: cannot find symbol