2015-09-27 17 views
1

我有3個類文件:Bin2Dec實現拋出異常,BinaryFormatException是異常文件,而bin2DecTest是測試文件,用於測試BinaryFormatException和bin2Dec的正確操作。我不知道爲什麼,但我不能讓測試文件運行。有人請幫助我!如何讓我的測試文件起作用?

測試文件:

import java.util.Scanner; 

public class bin2DecTest { 

    public static void main(String[] args) { 
     //Convert the input string to their decimal equivalent. 
     //Open scanner for input. 
     Scanner input = new Scanner(System.in); 
     //Declare variable s. 
     String s; 

     //Prompt user to enter binary string of 0s and 1s. 
     System.out.print("Enter a binary string of 0s and 1s: "); 
     //Save input to s variable. 
     s = input.nextLine(); 
     //With the input, use try-catch blocks. 
     //Print statement if input is valid with the conversion. 
     try { 
      System.out.println("The decimal value of the binary number " + "'" + s + "'" + " is " + conversion(s)); 
      //Catch the exception if input is invalid. 
     } catch (BinaryFormatException e) { 
      //If invalid, print the error message from BinaryFormatException. 
      System.out.println(e.getMessage()); 
     } 
    } 
} 

BIN2DEC FILE:

//Prepare scanner from utility for input. 
    import java.util.Scanner; 
    public class Bin2Dec { 
        //Declare exception. 

      public static int conversion(String parameter) throws BinaryFormatException { 
      int digit = 0; 

      for (int i = 0; i < parameter.length(); i++) { 
       char wrong_number = parameter.charAt(i); 


       if (wrong_number != '1' && wrong_number != '0') { 
       throw new BinaryFormatException(""); 
       } 

       //Make an else statement and throw an exception. 

       else 
       digit = digit * 2 + parameter.charAt(i) - '0'; 
      } 
      return digit; 
      } 
     } 

BinaryFormatException FILE:

 //Define a custom exception called BinaryFormatException. 
public class BinaryFormatException extends Exception { 
    //Declare message. 

    private String message; 

    public BinaryFormatException(String msg) { 
     this.message = msg; 
    } 
    //Return this message for invalid input to Bin2Dec class. 

    public String getMessage() { 
     return "Error: This is not a binary number"; 
    } 
} 

回答

1

的代碼無法編譯,因爲你正在使用conversion,如果它是一個方法bin2DecTest。您需要使用conversion作爲Bin2Dec的靜態方法。例如。

Bin2Dec.conversion(s); 

而且,看看正式測試框架,如JunitTestNG。與簡單測試框架相比,它們提供了一些優勢,包括簡單測試引發Exception的代碼。

相關問題