I have 3 class files: Bin2Dec implements to throw an exception, BinaryFormatException is the exception file, and bin2DecTest is the test file to test the correct operation of both the BinaryFormatException and bin2Dec. I don't know why but I can't get the test file to run. Someone please help me!!
TEST FILE:
//Prepare scanner from utility for input.
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";
}
}
Aucun commentaire:
Enregistrer un commentaire