String von einer Variable als Variable nutzen

H3llGhost

Mitglied
Hallo Leute,

ich habe mal eine Frage:
Ich habe eine Funktion geschrieben:

Code:
  public static void trycatch(String text, String Varart, String Variable)
  {
      int excep = 1;
      InputStreamReader isr = new InputStreamReader(System.in);
      BufferedReader eingabe = new BufferedReader(isr);
      
      while (excep == 1)
      {
      excep = 0;
      System.out.print(text);
      try
         {
          if (Varart == "Int")
          {
          Variable = eingabe.readLine();
          }
         }
      catch (Exception e)
         {
          System.out.println("Ungültige Eingabe!\n");
          excep = 1;
         }
      }
  }

Und ich möchte als String die Variable übergeben in der gespeichert werden soll.
Das ist ja einfach, aber wie gebe ich das denn so aus, dass er das als Variable ansieht?
 
Ich rufe die Funktion mit

trycatch(String text, String Varart, String Variable)

auf!

Nun gebe ich folgendes mit:
trycatch("Bitte geben Sie die Anzahl ein!", "Int", "var_string")

Er soll die Funktion aufrufen gibt dann "Bitte geben Sie die Anzahl ein!" aus.
die Varart am besten erstmal aussenvor lassen.
Er soll dann die Eingabe in var_string speichern.
Dazu muss ja der übergebene String als Variablenname akzeptiert werden, aber wie?
 
Ich schätze mal, dass du das machen willst, weil zahlen in einer Integer-Variable gespeichert werden sollen und Strings in einer String Variable, oder?

Die Variablen die du als String angibst, die gibts schon in deiner Klasse, oder?

Falls dies so sein sollte, kannst du das mit Reflection lösen.

MFG

zEriX
 
Hallo ,

h3llGhost hat glaube ich das gleiche Problem wie ich ....

werde versuchen das in anderen worten mal zu beschreiben ....

1. Man liest ein String von irgendwo ein ... (z.b.
Code:
String teststring = "testinhalt"
;)

2. nun soll der inhalt dieses strings als variablen name verwendet werden
(z.b.
Code:
int XXXXXXX = 29; // XXXXXXX steht für den inhalt des teststrings
... hier würde dann eine int variable mit dem namen testinhalt erzeugt werden.)

so glaube ich ist die problematik ...
das ganze ist denk ich mal ganz praktisch, wenn man dynamisch variablen oder classen instanzen erzeugen will um sie später mit dem übergabe string als namen leicht zu identifizieren bzw zugreifen kann
 
Xondio hat gesagt.:
ich hab endlich was in der forums suche gefunden ....
das ganze nennt sich Reflection ...
dazu gibts schon nen thread der das ganz gut erklärt

Das habe ich doch schon in meinem letzten Post gesagt.

MFG

zEriX
 
stimmt ;D sorry

aber weist du auch wie das mit Reflection funktioniert ?

bis jetzt habe ich nur die möglichkeit gefunden den Classen namen oder methoden namen zu erfragen bzw zu setzen ... also
Code:
TestClass flx = constructor.newInstance(....

aber:
ich will nur den namen (hier flx) zur laufzeit frei wählen bzw von eine String Variable ersetzen ...

da muss es doch einen einfachen "platzhalter" in java für geben ...
also irgendwie sowas

Code:
String flx = "bluub";
TestClass flx.toValue = new TestClass(....);

so das die JVM das als TestClass bluub = new TestClass(.. versteht ...
 
Ich verstehe aber nicht was das bringen soll. Du kannst die Variable sowieso nur in der Methode verwenden und danach ist es das alles doch direkt wieder verworfen. Das heißt, es bringt dir keinen Unterschied, wenn du die Variable schon am Anfang anlegst oder per String bestimmen könntest.

MFG

zEriX
 
Angenommen ich lese mehrere Strings ein und will verschiedene JPanels mit den Strings als Name zu einem Frame adden und anschließend die JPanles verändern je nachdem was für infos ich dann einlese ...

oder gibt es evntl in Java einer andere möglichkeit gezielt auf ein Object(JPanel) zuzugreifen ?
 

Neue Beiträge

Zurück