전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

JAVA

[자바/JAVA] 프로그래밍 - API_실습 문제 (1)

2023. 6. 14. 16:40


TokenMenu Class

package com.kh.practice.token.view;

import java.util.Scanner;

import com.kh.practice.token.controller.TokenController;

public class TokenMenu {
	
	private Scanner sc = new Scanner(System.in);
	private TokenController tc = new TokenController();
	
	public void mainMenu() {
		while(true) {
			//1. 지정 문자열 ➔ tokenMenu()
			System.out.println("1. 지정문자열");
			//2. 입력 문자열 ➔ inputMenu()
			System.out.println("2. 입력문자열");
			//3. 프로그램 끝내기 ➔ “프로그램을 종료합니다” 출력 후 종료
			System.out.println("9. 프로그램 끝내기");
			System.out.print("메뉴 번호 : ");
			// 잘못 입력했을 시 “잘못 입력하셨습니다. 다시 입력해주세요.” 출력 후 반복
			int num = sc.nextInt();
			sc.nextLine();
			
			switch(num) {
			case 1 : 
				tokenMenu();
				break;
			case 2 :
				inputMenu();
				break;
			case 9 :
				System.out.println("프로그램을 종료합니다.");
				return;
				
			default :
				System.out.println("잘못 입력하셨습니다. 다시 입력하세요.");
		
			}
		}
	}
	
		public void tokenMenu(){
		//String str = “J a v a P r o g r a m “; 
		String str = "J a v a P r o g r a m ";
		// 토큰 처리 전 글자, 토큰 처리 전 개수를 출력
		System.out.println("토큰 처리 전 글자 : " + str);
		System.out.println("토큰 처리 전 개수 : " + str.length());
		// TokenController(tc)의 afterToken()의 반환 값을 가지고
		// 토큰 처리 후 글자, 토큰 처리 후 개수, 모두 대문자로 변환 한 것을 출력
		String newStr = tc.afterToken(str);
		System.out.println("토큰 처리 후 글자 : " + newStr);

		System.out.println("토큰 처리 후 개수 : " + newStr.length());
		System.out.println("모두 대문자로 변환 : " + newStr.toUpperCase());
		}
		
		public void inputMenu(){
			//문자열을 입력하세요 :
			System.out.print("문자열을 입력하세요 : ");
			String str = sc.nextLine();
			// tc에 firstCap()로 입력 받은 문자열을 넘기고 반환 값 출력
			System.out.println("첫 글자 대문자 : " + tc.firstCap(str));
			//찾을 문자를 하나 입력하세요 : 
			System.out.print("찾을 문자를 하나 입력하세요 : ");
			char ch = sc.nextLine().charAt(0);
			// tc에 findChar()로 위에 입력 받은 문자열과 방금 받은 문자를 인자로 넘겨
			// 반환 값 출력
			System.out.println(ch + " 문자가 들어간 개수 : " + tc.findChar(str, ch));
			
		}


}

TokenController Class

package com.kh.practice.token.controller;

import java.util.StringTokenizer;

public class TokenController {
	
	public TokenController() {}
	
	public String afterToken(String str) {
		String string = "";
		// 매개변수로 받아온 str을 StringTokenizer를 이용하여
		// 띄어쓰기를 없애고 없앤 문자열 반환
		StringTokenizer stn = new StringTokenizer(str, " ");
		while(stn.hasMoreTokens()) {
			string += stn.nextToken();
		}
		
		return string;
	}
	
	public String firstCap(String input){
		// 매개변수로 받아온 input의 첫 번째 글자만 대문자로 바꾼 문자열 반환
		// input = application
		/*
		char ch = input.toUpperCase().charAt(0);
		char[] arr = input.toCharArray();
		arr[0] = ch;
		return String.valueOf(arr);
		*/
		
		String a = input.substring(0,1).toUpperCase(); //A
		String b = input.substring(1); // pplication
		input =  a.concat(b);
		return input;
		
	}
	
	public int findChar(String input, char one){
		// 매개변수의 문자가 문자열 안에 몇 개가 들어가 있는지 반환
		int count = 0;
		char[] arr = input.toCharArray();
		for(int i = 0 ; i < arr.length; i++) {
			if(arr[i] == one) {
				count++;
			}
		}
		return count;
	}
	

}

Run Class

package com.kh.practice.token.run;

import com.kh.practice.token.view.TokenMenu;

public class Run {

	public static void main(String[] args) {

		TokenMenu m = new TokenMenu();
		m.mainMenu();
	}

}

실행 결과

    'JAVA' 카테고리의 다른 글
    • [자바/JAVA] 프로그래밍 - API_실습 문제 (2)
    • [자바/JAVA] 프로그래밍 - 예외처리(Exception)
    • [자바/JAVA] 프로그래밍 - API_Date
    • [자바/JAVA] 프로그래밍 - API_Wrapper
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바