我正在处理一个任务,该任务的飓风类别应介于1-5之间,并输出该特定类别的风速信息。要求是:在switch语句中包括一个默认语句。
我已经尝试了几乎所有内容,但仍然无法成功运行该应用程序。我很沮丧,因为这项作业定于今天晚上完成,而且我什么都没有得到:(
private void btnSelectActionPerformed(java.awt.event.ActionEvent evt) {
int category=6;
String categoryString = this.txtInput.getText();
switch (category){
case 1: categoryString = "1";
this.txtOutput.setText ("Windspeeds for Category 1 are: 74-950 mph or
64-82 kt or 119-153 km/h");
break;
case 2: categoryString = "2";
this.txtOutput.setText ("Windspeeds for Category 2 are: 96-110 mph or
83-95 kt or 154-177 km/h");
break;
case 3: categoryString = "3";
this.txtOutput.setText ("Windspeeds for Category 3 are: 111-130 mph or
96-113 kt or 178-209 km/h");
break;
case 4: categoryString = "4";
this.txtOutput.setText ("Windspeeds for Category 4 are: 131-155 mph or
114-135 kt or 210-249 km/h");
break;
case 5: categoryString = "5";
this.txtOutput.setText ("Windspeeds for Category 5 are: Greater than
155 mph or 135 kt or 249 km/h");
break;
default:
this.lblWindspeedLabel.setText("Please Choose Category from 1 - 5");
this.txtOutput.setText(""+ categoryString);
}
}
最终输出应该显示类别的风速信息,但它会一直说默认值...
答案 0 :(得分:0)
您将类别设置为6,然后切换该值。但是该值始终为6,因此始终调用默认块。 您应该从某处获取类别值(不知道您的应用程序应该做什么。)。
答案 1 :(得分:0)
之所以发生这种情况,是因为您将category作为整数类型的switch参数,并在类别为string的switch语句中使用categoryString作为测试用例。这就是为什么没有通过任何案例,并且程序正在跳至默认案例的原因。试试这个代码。应该可以。
private void btnSelectActionPerformed(java.awt.event.ActionEvent evt) {
int category=6;
String categoryString = this.txtInput.getText();
switch (categoryString){
case "1";
this.txtOutput.setText ("Windspeeds for Category 1 are: 74-950 mph or
64-82 kt or 119-153 km/h");
break;
case "2";
this.txtOutput.setText ("Windspeeds for Category 2 are: 96-110 mph or
83-95 kt or 154-177 km/h");
break;
case "3";
this.txtOutput.setText ("Windspeeds for Category 3 are: 111-130 mph or
96-113 kt or 178-209 km/h");
break;
case "4";
this.txtOutput.setText ("Windspeeds for Category 4 are: 131-155 mph or
114-135 kt or 210-249 km/h");
break;
case "5";
this.txtOutput.setText ("Windspeeds for Category 5 are: Greater than
155 mph or 135 kt or 249 km/h");
break;
default:
this.lblWindspeedLabel.setText("Please Choose Category from 1 - 5");
this.txtOutput.setText(""+ categoryString);
}
}