有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”。但是这个解决方案需要使用递归。
答案 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:
//...
}