2021.11.16(화)
🌱 String클래스 실습 문제
영어 알파벳으로만 이루어진 문자열(띄어쓰기 포함)을 입력받은 뒤, 각 단어의 첫 글자만 대문자로 변환하는 프로그램을 만드시오.
Run 클래스
public class ToUpperCaseRun { public static void main(String[] args) { ToUpperCaseView tucv = new ToUpperCaseView(); } }
View 클래스
public class ToUpperCaseView { private ToUpperCaseController tucc = new ToUpperCaseController(); private String userStr = ""; private String upperStr = ""; private Scanner sc = new Scanner(System.in); public ToUpperCaseView() { toUpperCaseMainMenu(); } public void toUpperCaseMainMenu() { while (true) { // 사용자가 숫자나 한글을 입력한 경우 다시 입력받고 싶음 System.out.print("영어를 입력하세요(띄어쓰기 포함) > "); userStr = sc.nextLine().toLowerCase(); char[] chArr = userStr.toCharArray(); } } }
Controller 클래스
public class ToUpperCaseController { private String userStr = ""; private String upperStr = ""; private Scanner sc = new Scanner(System.in); public void toUpperCase() { while (true) { // 사용자가 숫자나 한글을 입력한 경우 다시 입력받고 싶음 System.out.print("영어를 입력하세요(띄어쓰기 포함) > "); userStr = sc.nextLine().toLowerCase(); char[] chArr = userStr.toCharArray(); for (int i = 0; i < chArr.length; i++) { if (i == 0) { // 입력받은 문자열의 첫번째 글자는 무조건 대문자로 만듦 chArr[i] = (char) (userStr.charAt(i) - 32); } else if (chArr[i - 1] == ' ') { // 앞 글자가 ' '인 경우 해당 글자는 대문자로 바꿈 chArr[i] = (char) (userStr.charAt(i) - 32); // chArr[i] = Character.toUpperCase(userStr.charAt(i)) } } System.out.println(String.valueOf(chArr)); } // while문 영역 끝 } }
✔️ 보완할 점
- 코드 깔끔하게 바꿔보기
- 더 다양한 String 메소드 사용해보기
- 부가 기능 구현(사용자가 숫자나 한글을 입력한 경우 다시 입력받기 등)
- 객체지향 구조 구현
📗 homework:
- Java API 중 1가지(단, Calendar, GregorianCalendar 제외) 찾아서 나의 기존 작업물에 사용해보기 + 주요 내용 정리(자주 쓰이는 메소드 설명 등)
- 객체배열 실습
- double형 사칙연산 관련 문제 해결
'back-end dev > Java' 카테고리의 다른 글
[KH정보교육원] 28일차_(Array)List (0) | 2021.11.19 |
---|---|
[KH정보교육원] 27일차_Wrapper클래스, Input/Output (0) | 2021.11.17 |
[KH정보교육원] 25일차_API, Math클래스, String클래스 (0) | 2021.11.15 |
[KH정보교육원] 19일차_추상클래스 (0) | 2021.11.09 |
[KH정보교육원] 21일차_미니팀프로젝트 (0) | 2021.11.09 |