Выбор правильного символа на основе данного номера индекса. Переключатель-заявление - PullRequest
1 голос
/ 25 января 2012

Есть 3 разных символа, например, "a", "b" и "c".Мне нужно присвоить значение «a» индексам 1, 4, 7 и т. Д., Значение «b» - 2, 5, 8 и т. Д., А значение «c» - 3, 6, 9 и т. Д. Теперьпредставьте, что индекс равен 11. Я должен определить символ, которому он соответствует.Как я могу сделать это в JAVA?PS.Мне это нужно для оператора Switch.

Обновление № 1:

Я подумал, что, возможно, возможным решением может быть следующее: Возьмите данное число, например 11. Разделите его на 3, потому чтоЕсть 3 возможных варианта, то есть «a», «b» и «c».11/3 = 3,6 (6).И затем, если вся часть может быть разделена на 3 без остатка, тогда оцените, как могут 3s это включать.В нашем примере это 1. И, наконец, 1 + round (0.66) = 2. Таким образом, значение «b» должно быть выбрано.Но это решение требует использования рекурсии.

Ответы [ 2 ]

4 голосов
/ 25 января 2012

Используйте оператор Java по модулю :

switch (i%3) {
    case 0: return 'c';
    case 1: return 'a';
    case 2: return 'b';
    default: //
}

Сжатие с return с для краткости. В реальной жизни break; между независимыми случаями.

2 голосов
/ 25 января 2012
switch(index % 3) {
    case 0:
        myChar = 'a';
        break;
    case 1:
        myChar = 'b';
        break;
    case 2:
        myChar = 'c';
        break;
    default:
        //...        
}
...