簡體   English   中英

為什么我的switch語句在GUI Netbeans中不起作用?

[英]Why isn't my switch statement working in GUI Netbeans?

我正在處理一個任務,該任務應采用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);
        }
    }                               

最終輸出應該顯示該類別的風速信息,但它會一直說默認值...

您將類別設置為6,然后切換該值。 但是該值始終為6,因此始終調用默認塊。 您應該從某處獲取類別值(不知道您的應用程序應該做什么..)。

之所以發生這種情況,是因為您將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);
}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM