kostenloser Webspace werbefrei: lima-city


Variable mit String ""erhalten""

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    swissminecraftserver

    Kostenloser Webspace von swissminecraftserver

    swissminecraftserver hat kostenlosen Webspace.

    Hallo

    ich bin Heute auf ein Problem gestoßen, und zwar bei meinem Code will ich ,dass ich eine Variable mit dem
    namen x mit einem String abfrage.
    z.B.
    int x = 99;

    public static void Irgendeinname(String s){

    hier drinne soll sowas wie das:

    Variable.getVariable(variable.valueOf(s) = 10;


    passieren.
    Weiss jemand wie man das macht?

    mfg swissmcs

    Danke :D
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo,

    ich habe mir deinen Beitrag jetzt mehrfach durchgelsen und keine Ahnung was für eine Frage du hast.

    Das ist so verständlich als wenn ich fragen würde »Pudding und Tomatensoße, wie?«

    Die Frage könnte man nun so interpretieren:
    – Keine Ahnung was die Frage ist…
    – Wie gut passen Tomatensoße und Pudding zusammen?
    – Wie mache ich Pudding?
    – Wie mache ich Tomatensoße?
    – Wie mache ich Pudding und Tomatensoße?
    Essen solltest du besser sein lassen, du weißt offensichlich nicht wie man es macht!!!
    – Ganz egal was es heißen soll stell die Frage so das man sie versteht!!!

    Also, du siehst die Frage ist nicht verständlich formuliert und ich neige dazu deine Frage wie einen der beiden letzten Punkte oder den ersten zu interpretieren deshalb:
    FRAGE DOCH BITTE EINFACH DANACH WAS DU WISSEN WILLST, GEBE EIN KLEINES BEISPIEL UND ERKLÄRE WONACH DU BEREITS GESUCHT HAST, ANSCHLIEẞEND HILFT DIR GERNE JEMAND.

    So ich gebe dir jetzt trotzdem noch eine Hilfe indem ich die Gegenfrage stelle und mal meine Glaskugel bemühe um zu raten was du machen willst.

    Willst du einen Integer in einem String einfügen? – Das ginge ganz einfach so:
    int x = 10;
    String y = ""+x;
    // Oder:
    String y = Integer.toString(x);


    Oder willst du eine Zahl, die in einem String steht in einem Integer schreiben? – Das wäre auch sehr einfach:
    String x = "10";
    int y = Integer.valueOf(x);
    // Oder das ist aber nicht so schnell, wenn es mehrfach vorkommt, 
    // wenn es einmalig ist, dann ist es schneller, das hat was mit der 
    // Speicherverwaltung von Java zu tun und ist für deinen 
    // Anwendungsfall vermutlich egal
    Integer.parseInt(x);


    Oder willst du einen Vergleich zwischen einem Integer und einem String durchführen?
    Dann müsstest du eine der beiden Umformungen benutzen und das ganze dann wie üblich vergleichen.

    Mit freundlichen Grüßen

    Beitrag zuletzt geändert: 20.7.2013 21:28:54 von nemoinho
  4. Ich nehme an er meint das hier:
    long a = 10;
    long b = 20;
    string varToAdd = "a";
    long c = b + valueOfVar(varToAdd);
    // das folgende sollte dann true sein
    c == 30

    Aber selbst wenn es gehn sollte, ist das ganz schlechter Stil und du solltest es lieber lassen. Afaik gibt es eine solche Möglichkeit in Java nicht.
    Möglicheiten solches Verhalten zu bekommen wären zum Beispiel HashMap mit String als Schlüssel.
  5. Autor dieses Themas

    swissminecraftserver

    Kostenloser Webspace von swissminecraftserver

    swissminecraftserver hat kostenlosen Webspace.

    nenene ganz anders

    Ich will eine bestimmte Variable ändern, also wenn ich zb 3 Variabeln habe
    private static int x;
    private static int y;
    private static int z;


    Dann will ich das ich den Namen der Variable mit einem String abfragen kann:
    String s = "";

    Wenn s jetzt "x" ist, soll es die Variable x ändern, wenn s "y" ist soll es die Variable y ändern usw.

    ABER

    Ich will nicht immer abfragen ob:
    if(s == "x"){
    x = x + 123123;
    } else if(s == "y"){
    usw.
    }


    Ist es so einigermaßen verständlich ausgedrückt?

    Beitrag zuletzt geändert: 21.7.2013 18:37:24 von swissminecraftserver
  6. Jop, aber das ist trotzdem genau der Fall und sollte mit einer HashMap gelöst werden:
    String s = "x";
    HashMap<String,Integer> integers = new HashMap<String,Integer>();
    integers.put(s, 3); // zum setzen
    int x = integers.get(s); // zum auslesen

    Bei Feldern kannst du auch Reflection nutzen, aber das ist halt ziemlich langsam.
  7. Autor dieses Themas

    swissminecraftserver

    Kostenloser Webspace von swissminecraftserver

    swissminecraftserver hat kostenlosen Webspace.

    Genau das ist es, was ich gesucht habe :)
    Funktioniert super!

    danke
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!