Okunan sayinin telefon numarasi olmasi belli kritirler var.
Valid phone numbers:
- 10 digits long
- Area code cannot start in 0 or 9
- There cannot be 911 in phone number
Bu kosullara uymayanlar icin User defined exception olusturacagiz.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class PhoneNumberApp {
public static void main(String[] args) {
String filename = "C:\\Users\\Gamze\\Java Udemy\\phoneNumber.txt";
String phoneNum = null;
File file = new File(filename);
try {
BufferedReader bf = new BufferedReader(new FileReader(file));
phoneNum = bf.readLine();
System.out.println(phoneNum);
bf.close();
} catch (FileNotFoundException e) {
System.out.println("ERROR: File is not found "+ filename);
e.printStackTrace();
} catch (IOException e) {
System.out.println("ERROR: Data could not read " +filename);
e.printStackTrace();
}
// Valid phone numbers:
// 10 digits long
// Area code cannot start in 0 or 9
// There cannot be 911 in phone number
try{
if(phoneNum.length() != 10) {
throw new TenDigitsException(phoneNum);
} if(phoneNum.substring(0, 1).equals("0") || phoneNum.substring(0,1).equals("9")){
throw new AreaCodeException(phoneNum);
} if(phoneNum.contains("911")){
throw new EmergencyCodeException(phoneNum);
}
} catch(TenDigitsException ex){
System.out.println("ERROR: Phone number is not 10 digits");
} catch(AreaCodeException ex){
System.out.println("ERROR: Phone number cannot start with 0 or 9");
} catch(EmergencyCodeException ex){
System.out.println("ERROR: Phone number cannot contain emergency code");
}
}
}
class TenDigitsException extends Exception{
String num;
TenDigitsException(String num) {
this.num = num;
}
public String toString(){
return ("Ten Digits Exception "+num);
}
}
class AreaCodeException extends Exception{
String num;
AreaCodeException(String num){
this.num = num;
}
public String toString(){
return ("AreaCodeException "+num);
}
}
class EmergencyCodeException extends Exception{
String num;
EmergencyCodeException(String num){
this.num = num;
}
public String toString(){
return ("EmergencyCodeException "+ num);
}
}
Hiç yorum yok:
Yorum Gönder