h1 = 150;
h2 = 250;
ss = "h";
ii = "1"
xx = ss+ii;
println(?xx) // jak vytisknout hodnotu h1
println(&xx) // jak vytisknout hodnotu h1
println(@xx) // jak vytisknout hodnotu h1
Takto?
String ss = "h";
String ii = "1";
String xx = ss + ii;
System.out.println(xx);
když chceš vypsat proměnnou "h1", tak to uděláš stejně
System.out.println(h1); // 150
pokud chceš vypsat tu číslici "1" po spojení "ss" a "ii"
System.out.println(xx.charAt(1)); // 1 (ze stringu "h1")
#4 ingiraxo
Ještě jednou snad to napíšu přesněji.
Chci vypsat obsah proměnné, kterou neznám (zde h1 nebo h2), či přesněji znám, že začíná na h, ale zbytek neznám. Ale její název mám umístěn v jiné proměnné (zde v proměnné xx), nebo jen tu část v proměnné ii.
určitě to v tomto školním příkladě jde použít pole h a index bude ta číslice tedy
println(h[ii])
ale když ii nebude číslice, ale cokoliv tak to bude horší nebo když nechci použít pole.
aha, asi chápu, ale tohle je dooost zvláštní způsob... spíš blbost, jde to udělat lépe, ale jinak teda...
int h1 = 150;
int h2 = 250;
String ss = "h";
String ii = "1"; // pokud bude "1", tak se níže vypíše 150 a pokud bude "2", tak 250
System.out.println((ss + ii).equals("h1") ? h1 : h2);
nebo jak napsal KIIV použít tu mapu no, ale to nevim jestli jste ve škole brali
Map<String, Integer> pole = new HashMap<>();
pole.put("h1", 150);
pole.put("h2", 250);
String vypis = "h1"; // pokud bude: "h1" = 150, "h2" = 250
System.out.println(pole.get(vypis));
#8 ingiraxo
To byl všechno jenom jako příklad, Cílem má být zjistit obsah libovolné proměnné, jejíž název je v jiné proměnné.
Řekl bych, že v proměnné je odkaz nebo ukazatel na tu proměnnou, jejíž obsah mě zajímá.
Nejsem si jist jestli to java umí.
tohle umí snad jen PHP a MATLAB (volat proměnný skrze její název jako string), krom toho Java nemá ukazatele a prijde mi, že chceš nějakou blbost, co tě zrovna u oběda napadla :-X
#9 jabupe
Ty len nevies ze v skutocnosti chces pouzit mapu. Alebo ako to neskor popisujes, chces Set naplnenny objektami ktore si drzia meno premennej a referenciu na nu. Daj si pozor na prepisanie equals, aj ked si myslim ze je to blbost a v skutocnosti chces uz niekolko krat spomenutu mapu.
musel by si si spravit vlastne prostredie (cim by si vlastne len vytvaral mapu ...)
prostredie by obsahovalo zoznam vsetkych indexovanych prvkov (bud by si pouzil mapu alebo by si to spravil "manualne" pre kazdy prvok by si vytvoril dalsi objekt ktory by obsahoval jeho nazov a vlastny obsah)
pri volani by si len pouzil parser ktory by presiel celu mapu a nasiel to co hladas ... proste by si si vytvoril mapu ...
btw ak si dobre pametam LUA (aj ked tato by sa asi zaradila pod scriptovaci jazyk takze nic) vie tiez taketo volania ... je zalozena na C a tiez to robi tak isto ... proste ma vsetky premenne ulozene v jednom poli
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku