我在Java程序中创建了这个 switch case 结构,但是Eclipse在所有 break 语句中给我签了错误:
public class LoadPlacesService {
public String getPlaces(String source, String selval) {
switch(source) {
case "country":
if (selval.equals("italy")) {
return "<option value='marche'>Marche</option>\n<option value='lazio'>Lazio</option>\n<option value='lombardia'>Lombardia</option>\n<option value='puglia'>Puglia</option>";
} else {
return "0";
}
break;
case "region":
if (selval.equals("lazio")) {
return "<option value='roma'>Roma</option>\n<option value='viterbo'>Viterbo</option>\n<option value='latina'>Latina</option>\n<option value='rieti'>Rieti</option>\n<option value='frosinone'>Frosinone</option>";
} else {
return "0";
}
break;
// eventuali altri case
case "district":
if (selval.equals("roma")) {
return "<option value='roma'>Roma</option>\n<option value='guidonia-montecelio'>Guidonia Montecelio</option>\n<option value='fiumicino'>Fiumicino</option>\n<option value='aprilia'>Aprilia</option>";
} else {
return "0";
}
break;
}
return "";
}
}
答案 0 :(得分:2)
因为在
之前返回而无法访问它们答案 1 :(得分:1)
这是因为您从每个else
子句中的case
子句返回。这使得break;
语句无法访问。
} else {
return "0"; // cause of the problem
}
答案 2 :(得分:0)
从所有案例中删除break
语句。由于您从所有情况返回