因此,我正在基于数据库中的两个人创建一种称呼行的方法。
有四个参数:两个名称(name1
和name2
)和两个性别(gender
和gender2
)。
对于每种性别组合,我都有不同的输出。
例如:如果性别1为M
(man)且性别2也为M
,则输出应为:
Dear Sir name1 and Sir name2,
此时,我的开关如下所示:
switch(gender1){
case 'M':
switch(gender2){
case 'M': printf("Dear Sir %s and Sir %s", name1, name2); break;
case 'W': printf("Dear Sir %s and Madame %s", name1, name2); break;
case 'R': ...
}
break;
case 'W':
switch(gender2){
case 'M': printf("Dear Madame %s and Sir %s", name1, name2); break
case 'W': printf("Dear Madame %s and Madame %s", name1, name2); break;
case 'R': ...
}
break;
case ...etc.
}
请注意,我有多个性别选项,比如'R'
对于"Dear Relation"
一些更多的,我没有翻译的时间。
如何减少这种双重开关的说法?
将第二个开关置于方法中不是一种选择,因为在某些情况下,两个名称都相同,然后应该将输出合并,例如: "Dear Sir and Madame name1,"
gender1+gender2
。
Madam
不是Madame
。 Madame
是法国形式。