diff --git a/README.md b/README.md index bd90ef0..795387b 100644 --- a/README.md +++ b/README.md @@ -1 +1,14 @@ -# java-calculator-precourse \ No newline at end of file +# java-calculator-precourse + +### 1. 구분자와 양수로 구성된 문자열 입력받기 + +- 기본 구분자 문자열 입력 +- 커스텀 구분자 문자열 입력 + +### 2. 각 숫자의 합 반환 + +- 커스텀 구분자 존재 여부 확인 +- 문자와 숫자 분리 +- 숫자 더하기 및 출력 + +### 3. IllegalArgumentException 발생 조건 \ No newline at end of file diff --git a/src/main/java/calculator/Application.java b/src/main/java/calculator/Application.java index 573580f..b56d676 100644 --- a/src/main/java/calculator/Application.java +++ b/src/main/java/calculator/Application.java @@ -1,7 +1,53 @@ package calculator; +import java.util.Scanner; +import java.util.Vector; + public class Application { public static void main(String[] args) { - // TODO: 프로그램 구현 + Scanner sc = new Scanner(System.in); + Vector number = new Vector<>(); + String words; + char custom; + + // 문자열 입력 + System.out.println("덧셈할 문자열을 입력해 주세요."); + words = sc.next(); + + // 커스텀 구분자 확인 + if(words.charAt(0)=='/' && words.charAt(1)=='/' && words.charAt(3)=='\\' && words.charAt(4)=='n') { + custom = words.charAt(2); + + // 숫자와 문자 분리 + for(int i=5; i= 48 && word <= 57) { + number.add(word-48); + } + else if(word != custom) { + // 예외 처리를 위한 예비출력 + System.out.println("예외"); + } + } + } + else { // 기본 구분자의 숫자와 문자 분리 + for(int i = 0; i < words.length(); i++) { + char word = words.charAt(i); + if(word >= 48 && word <= 57) { + number.add(word-48); + } + else if(word != ',' && word != ':') { + // 예외 처리를 위한 예비출력 + System.out.println("예외"); + } + } + } + + // 숫자의 합 출력 + int sum = 0; + for(int i = 0; i < number.size(); i++) { + sum += number.get(i); + } + System.out.println(sum); } }