26 Ağustos 2017 Cumartesi

Java - Dosyadan Okunan Sayi Telefon Numarasi mi Kontrol Etme

Dosyada yazili olan sayiyi okuyacagiz. Ve bu sayi bir telefon numarasi mi anlamaya calisacagiz.
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