2017-04-07 80 views
0

我有一个值需要阅读。该值是一个我转换为int的十六进制。 我有几个可能的值,但switch语句接受所有情况。switch语句不转换

int messValue = Integer.parseInt(messType,16); 
    switch(messValue) 
    { 
    case 160 : System.out.println(messType.toUpperCase() + " It's a financial Message request"); 
    case 161 : System.out.println(messType.toUpperCase() + " It's a financial Message response"); 
    case 162 : System.out.println(messType.toUpperCase() + " It's a Reversal message request"); 
    case 163 : System.out.println(messType.toUpperCase() + " It's a Reversal message Acquirer Repeat"); 
    case 164 : System.out.println(messType.toUpperCase() + " It's a Reversal message response"); 
    case 165 : System.out.println(messType.toUpperCase() + " It's a Network message request"); 
    case 166 : System.out.println(messType.toUpperCase() + " It's a Network message response"); 
    case 167 : System.out.println(messType.toUpperCase() + " It's a Network message response issuer"); 
    default : break; 
    } 

这里的输出,当输入为“A0”:

A0 It's a financial Message request 
A0 It's a financial Message response 
A0 It's a Reversal message request 
A0 It's a Reversal message Acquirer Repeat 
A0 It's a Reversal message response 
A0 It's a Network message request 
A0 It's a Network message response 
A0 It's a Network message response issuer 
+4

开关的情况下一个case,除非你加入在处理一个案件结束时打破陈述。 –

+1

在每个'case'语句的末尾使用'break;'。 – Berger

+3

必须有成千上万的重复这个问题... –

回答

2

“到秋季”添加break;每一个最后的内case语句后