Rickie的軟體測試學習筆記-第四周

來源:互聯網
上載者:User

標籤:

本周預期是分析字串轉換數實值型別時候發生的異常。

 

在C#中:

int.Parse(String str): 這種方法是將數字內容的字串轉換為int類型。

如果字串的內容為Null ,則拋出ArgumentNullException異常;

如果字串內容不是數字,則拋出FormatException異常。

使用該方法只能處理字串的內容,而且轉換後的字串內容要在int類型的可表示範圍之內。

 

在Java中:

java.lang.Integer.parseInt(String s, int radix) 方法解析的字串參數s作為一個有符號整數的基數指定的第二個參數基數

 

以下是java.lang.Integer.parseInt()方法的聲明:

 

public static int parseInt(String s, int radix) throws NumberFormatException

 

參數

  • s -- This is a String containing the integer representation to be parsed.

  • radix -- This is the radix to be used while parsing s.

傳回值

此方法返回指定基數中的字串參數表示的整數.

異常
  • NumberFormatException --如果字串不包含一個可分析的整數.

 

故,在C#中出現的兩種異常,在Java中都歸為了

   

  NumberFormatException

 

下面 是Java程式執行個體測試:

 

程式介面:

                        

                              

 

當輸入為111q,即含有非法字元q時,拋出異常

 

                        

 

當輸入超過了int能表示的範圍時,拋出異常

 

                   

 

當輸入為null(空)時,拋出的異常

 

                          

當輸入全部為字母的時,拋出異常

 

 

                      

 

輸入為正確的int字元時,輸出正確的parse得到的值

 

                            

 

下面是該程式所使用的Java 代碼:

 

 1     int count=0; 2     public void start(Stage primaryStage) { 3         primaryStage.setTitle("Form"); 4         AnchorPane root = new AnchorPane(); 5         HBox hbox1 = new HBox(8); 6         final TextField textfield = new TextField(); 7         textfield.setPrefColumnCount(25); 8         textfield.setPrefWidth(180); 9         hbox1.setAlignment(Pos.CENTER_LEFT);10         hbox1.getChildren().addAll(new Label("輸入: "), textfield);11         HBox hbox2 = new HBox(20);12         Button btn = new Button();13         btn.setText("確定");14         final Text text1 = new Text();15         final Text text2 = new Text();16         btn.addEventHandler(MouseEvent.MOUSE_CLICKED,17                 new EventHandler<MouseEvent>() {18                     public void handle(MouseEvent event) {19                         text1.setText(null);20                         text2.setText(null);21                         String textString = textfield.getText().toString();22                         char[] textChar = textString.toCharArray();23                         System.out.println(textString);24                         25                         try26                         {27                             int result = Integer.parseInt(textfield.getText());28                             text2.setText("轉化結果:"+ Integer.toString(result));29                             30                         }31                         catch (Exception exception)32                         {33                             text1.setText("輸入異常\n"+exception.toString());34                         }35                     }36                 });37         hbox2.getChildren().addAll(btn, text1,text2);38         AnchorPane.setTopAnchor(hbox1, 40.0);39         AnchorPane.setLeftAnchor(hbox1, 10.0);40         AnchorPane.setTopAnchor(hbox2, 90.0);41         AnchorPane.setLeftAnchor(hbox2, 20.0);42         root.getChildren().addAll(hbox1, hbox2);43         primaryStage.setScene(new Scene(root, 250, 120));44         primaryStage.show();45     }
View Code

 


 

Rickie的軟體測試學習筆記-第四周

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.