作爲第一步,我們重構代碼到if
- else
級聯和備份列表的大小,我們要經常使用:
1:
int size = list.size();
char x;
if(size == 1) {
x = 'a';
} else if(size == 2) {
x = 'b';
} else if(size == 3) {
x = 'c';
} else if(size == 4) {
x = 'd';
} else {
//undefined
x = '\0';
}
正如我們只有在這種情況下,比較常量列表的大小,我們可以進一步將其轉化成一個switch
聲明:
2:
char x;
switch (list.size()) {
case 1: x = 'a'; break;
case 2: x = 'b'; break;
case 3: x = 'c'; break;
case 4: x = 'd'; break;
//undefined
default: x = '\0'; break;
}
假設這是不是一個隨機選擇的例子,但實際的代碼,我們看到,我們需要一個函數,它接受若干從1
開始其輸出的字母('a'
到'z'
)與增加值:
3:
char x;
if(list.isEmpty()) {
//undefined
x = '\0';
} else {
//our function
x = (char) ('a' + list.size() - 1);
if(x > 'z') {
//undefined
x = '\0';
}
}
''char x =(char)('a'+ list.size() - 1);'',適用於''a''到''z'' –
您可以使用開關 –