Java - Variablen und Strings aus anderer Klasse importieren

Status
Für weitere Antworten geschlossen.

BosHammer

Neuling
Thread Starter
Mitglied seit
08.01.2005
Beiträge
172
Ort
Velbert
Hallo Leute,

Ich habe vor kurzem angefangen JAVA zu lernen, weil ich einmal in die Welt des Programmierens hineinschnuppern
wollte.

Bei meinem ersten größeren Programm bin ich leider
auf ein kleines Hindernis gestoßen.

Und zwar habe ich mehrere Klassen programmiert.
Dabei stellt eine Klasse eine Datei AuswahlFunktion zur Verfügung.
Aus der ausgewählten Datei soll nun die zweite Klasse lesen.
Ich dachte dass ich den Dateinamen als String von der ersten in die zweite Klasse importiere, aber wie genau mache ich dies? :confused:

Gebt mir Rat oder sagt mir bitte wo ich es verständlich nachlesen kann.


Vielen Dank
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
hmm ich kenn die syntax von java jetzt nicht, aber warum machst du es nicht so das eine methode aus klasse 1 den datei namen zurück gibt und den einer methode von klasse 2 wieder übergibst?
 
Danke Nascar für deine Antwort,
Hm, wie konkret soll ich das umsetzen?
Hinzugefügter Post:
Hm, es würde mir auch weiterhelfen zu wissen wie ich Variablen und Strings von einer Methode an eine andere übergeben kann.
 
Zuletzt bearbeitet:
Vielen Dank für die Mühe, catch22.
Das Problem mit den Variablen habe ich gelöst.
Aber Strings kann ich nicht übertragen.
Eclipse gibt mir *can't be resolved* - als Fehlermeldung aus.


.
.
.
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
System.out.println(file.getName());
dateiname = file.getName(); /*<- Hier bekommt String dateiname dem Wert der entsprechenden Datei */
}
else System.out.println("Keine Auswahl :-(");
System.exit(0);
}


public class CLesen { /* in dieser Klasse wird dateiname weiter verwendet */
void Lesen() {

//Variablen:
...
//String dateiname = new String("test.txt");
//Zeilenzählung
int zeilenzahl = 0;
String zeile = new String();


try {
FileReader fr = new FileReader( dateiname );
LineNumberReader lnr = new LineNumberReader( fr );
.
.
.
 
Zuletzt bearbeitet:
Ja, aehm schon.
Du solltest vielleicht in die erste Klasse noch ein get-Funktion (getDateiname) fuer die Variable 'dateiname' einbauen.
Dann kannst du auf die Variable in der zweiten Klasse mit <ersteKlasse>.getDateiname() zugreifen.
 
Danke für eure Hilfe,
besonders catch22.

hm, ich habe mich jetzt nach einiger Überlegung dazu entschlossen nur noch mir einer Klasse zu arbeiten.

Ich benötige deshalb eine Methode um Strings und Variablen zwischen Methoden(samt deren Werten) zu übergeben. Hm, das müsste doch auch einfacher gehen als mit set uns get. ???
Jemand eine Idee?
Hinzugefügter Post:
Hm, ah bin gerade viel weiter gekommen.
Fast fertig- hoffe ich zumindest also...
Ich habe eine Integer-Variable welche in mein
public void main erstellt wird, diese muss nun
in meine public String lesen() gelangen.
Ich kann sie jedoch nicht in den Klammern angeben,
wie etwa so: public String lesen(int X).

Hm, wie schaffe ich das ein Zugriff ermöglicht wird?
String lesen
Hinzugefügter Post:
@ catch22
Ich kann set und get eider nicht zusammen mit integerern
verwenden.
 
Zuletzt bearbeitet:
Ok, es gibt zwei moeglichkeiten, innerhalb einer Funktion, auf Variablen zuzureifen welche nicht in der Funktion selbst definiert sind.
Einmal kannst du die Variable als Parameter der Funktion uebergen.
Beispiel:
Code:
private void foo(int p_X) {
    System.out.println("Found " + p_X);
}
Code:
int x = 0;
foo(x);

Oder du kannst auf die Membervariablen der Klasse zugreifen.
Beispiel:
Code:
class A {
  int m_X;

  private void foo() {
    System.out.println("Fount " + m_X);
  }
}

Get und Set-Funktionen machen nur Sinn wenn du Werte aus anderen Klassen lesen oder schreiben moechtest.

Das Problem in deiner main-Funktion hat warscheinlich damit zu tun das diese 'static' ist. Varibalen die du in dieser Funktion benutzen willst muessten ebenfalls statisch sein. Dies gilt auch fuer Funktionen.
 
Hallo Leute,

Seit heute läuft mein Programm endlich!!
Das eigentliche Problem mit meinen Variabeln bestand darin, dass sie alle lokal (also innerhalb der Methoden)definiert waren.
(Anfängerfehler)
Ich habe sie dann global definiert und nun läuft es.

Ich wollte mich noch einmal herzlich für eure Hilfe bedanken. Besonders bei catch22.


Thread Closed
 
richtiges get und set:

public String token;

public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
 
Status
Für weitere Antworten geschlossen.
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh