2013-10-26 6 views
0

так вот мой пример кода, что я пытаюсь сделать (он не компилируется):Декларирование много переменных в цикле

for(char name = 'a'; name <= 'z'; name++) 
    { 
     double <<name>>; 
    } 

В этом примере я хочу создать 26 различных переменных, без явного , включенные в другие группировки

double a, b, c, d, e; //and so on 

Как я могу это сделать? Благодаря!

+0

Почему вы хотите это сделать? Это похоже на запах кода. – Doorknob

+0

ну, честно говоря, у меня очень мало опыта программирования, и я не знаю ничего лучше. Я пытаюсь назвать 100 слушателей действий для кнопок программы Minesweeper без их перечисления - возможно, я должен использовать массив. –

+0

Итак, вы в основном хотите создать цикл, чтобы создать кучу двойных значений? IE вы хотите 26 удваивается, и вы хотите назвать их a-z, и вы хотите сделать это, создав цикл? – leigero

ответ

2

Использование массива:

double[] vars = new double[26]; 
int i = 0; 
for(char name = 'a'; name <= 'z'; name++) 
{ 
    vars[i++] = name; 
} 
+0

+1 Массивы имеют смысл здесь esp. так как попытка OP не возможна. И даже ** если ** это было, переменные не могут пережить их объем. –

+0

Конечно, если понадобится, скажем, 26 переменных (от a до z) ему понадобится массив (или любой другой массив). – Christian

+0

Хорошо, теперь ОП сказал свое конкретное использование, и, очевидно, массивы будут лучше. (http://stackoverflow.com/questions/19612738/declaring-many-variables-in-a-loop?noredirect=1#comment29113996_19612738) – Doorknob

1

Если вы хотите получить ваши значения как переменной может быть, вы можете использовать HashMap!

HashMap<Character,Double> variables = new HashMap<Character,Double>(); 
for(char name = 'a'; name <= 'z'; name++) 
    { 
     variables.put(name,"put double value here"); 
    } 
+0

Вы не думаете, что это может ввести в заблуждение для OP? Он только начинает программировать. – Christian

+0

Я, я согласен, возможно, но я просто показывал обходное решение проблемы. –

Смежные вопросы