2013-04-18 4 views
0

Можно прокрутить переменные примитивного типа char (используя, например, цикл foreach)?Цитирование через переменные в JAVA

У меня есть три символа

char char1 = 'A'; 
char charTest = 'P'; 
char character = 'R'; 

В настоящее время у меня есть длинный список «если» заявления применительно к char1:

if (char1 == 'A') 
doSomething; 
else if (char1 == 'K') 
doSomethingElse; 
else if (charPrev == 'G') 
    doSomethingAgain; 
else 
    doSomethingYetAgain; 

Однако, я буду применять один и тот же набор «если» операторов в другие переменные символов (в этом примере charTest и символ).

Что такое простой способ достичь этого? Спасибо за любой вклад!

+0

Вы пробовали выключатель? –

ответ

6

Самый простой способ сделать это - перенести переменные в массив и пропустить их через них. Что-то вроде

char[] charArray = {char1, charTest, character}; 

// Essentially this says, for each char in charArray 
for (char character : charArray) { 
    if (character == 'A') 
     // Do Something 
    else if (character == 'K') 
     // Do Something 
    else 
     // Do Something 
} 
+1

Не вниз, но переключатель работает лучше. –

+1

Вопрос не в логических утверждениях, а в применении одной и той же логики к нескольким переменным. Я просто использовал инструкции 'if', потому что это то, что у них было в исходном коде. – TheMerovingian

+0

Извините, если это показалось грубым, я просто что-то сказал, но это, конечно, звучит грубо. – TheMerovingian

2

Вы можете передать свои символы методу, запускающему переключатель.

public static void main(String[] args) { 
    char char1 = 'A'; 
    char char2 = 'B'; 
    doStuff(char1); 
    doStuff(char2); 
    } 

    public static void doStuff (char a) 
    { 
     switch (a) { 
     case 'A': 
      doSomething(); 
      break; 
     case 'B': 
      doSomethingElse(); 
      break; 
     default: 
      dontDoAnything(); 
      break; 
     } 
     return; 
    } 
+0

case: is not right – Abi

+0

Bah! Синтаксис .... –

+0

Я бы изменил char defs на Main method на Array (List), а затем сделал A для каждого цикла. –

0

Чтобы создать массив символов в Java:

char[] characters = {'a', 'b', 'c'}; 

в цикле над массивами полукокса с использованием «для каждого» терминов и потому, что у вас есть «длинный список, если», I предложите использовать переключатель:

for(char character : characters){ 
    switch(character){ 
      case 'a' : 
      //do something 
      break; 
      case 'b' : 
      //do something 
      break; 
      .. 
      .. 
    } 
} 
Смежные вопросы