根据给定的索引号选择合适的char。 switch语句

时间:2012-01-24 21:11:19

标签: java switch-statement

有3种不同的字符,例如“a”,“b”和“c”。我需要将值“a”分配给索引1,4,7等,将值“b”分配给2,5,8等,将值“c”分配给3,6,9等。现在想象一下索引等于11.我应该定义它对应的char。我怎么能在JAVA中这样做? PS。我需要它用于Switch语句。

更新#1:

我认为可能的解决方案可能如下:取得给定的数字,例如: 11.除以3,因为有3种可能的选择,即“a”,“b”和“c”。 11/3 = 3.6(6)。然后,如果整个部分可以除以3而没有余数,那么估计它包含的3s。在我们的exaple中它是1.最后1 + round(0.66)= 2.因此,应该选择值“b”。但是这个解决方案需要使用递归。

2 个答案:

答案 0 :(得分:4)

使用Java的modulo运算符:

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

为了简洁,请使用return进行压缩。在现实生活中,请break;在独立案件之间。

答案 1 :(得分:2)

switch(index % 3) {
    case 0:
        myChar = 'a';
        break;
    case 1:
        myChar = 'b';
        break;
    case 2:
        myChar = 'c';
        break;
    default:
        //...        
}