문제
/* 문자열을 하나 입력 받고, 검색할 문자를 입력 하여
* 입력받은 문자열에서 검색할 문자가 몇 개 포함되어 있는지를 출력하는 프로그램을 만드세요
*
* 단, 문자열에 영문자가 아닌 문자가 섞여 있는 경우에는
* 검색할 문자를 입력받지 않고 "영문자가 아닌 문자가 포함되어 있습니다." 출력 후 프로그램을 종료하세요
*
* 또한 일치하는 문자의 경우 대소문자를 구분합니다.
*
* -- 프로그램 예시 --
*
* -- 정상 동작의 경우 --
* -- 입력 예시 --
* 문자열 입력 : apple
* 문자 입력 : p
*
* -- 출력 예시 --
* 포함된 갯수 : 1개
*
* --------------------
* -- 영문자가 아닌 문자 포함된 경우 --
* -- 입력 예시 --
* 문자열 입력 : app2le
*
* -- 출력 예시 --
* 영문자가 아닌 문자가 포함되어 있습니다.
* */
작성한 코드)
Scanner sc = new Scanner(System.in);
System.out.print("문자열 입력: ");
String str = sc.next();
/*입력받은 문자열 길이만큼 반복문으로 영문자인지 아닌지 판별*/
for (int i = 0; i < str.length(); i++) {
char ch1 = str.charAt(i);
if (!((ch1>='A' && ch1<='Z')||(ch1>='a' && ch1<='z'))){
System.out.println("영문자가 아닌 문자가 포함되어 있습니다.");
return; //영문자가 아닌 문자열이 있을 경우 반복문을 빠져나옴.
}
}
/*영문자일 경우 문자를 입력받음*/
System.out.print("문자 입력:");
int count =0;
/*입력받은 문자의 0번째 자리를 ch 변수에 담음*/
char ch = sc.next().charAt(0);
/*입력된 문자열 길이만큼 반복하면서 문자열( charAt(inum) 한 문자열씩 비교)과 문자를 비교함*/
for (int i = 0; i < str.length(); i++) {
char ch2 = str.charAt(i);
if (ch == ch2){
count ++; //동일한 문자가 있을경우 num의 개수가 증가.
}
}
//최종적으로 똑같은 문자열이 몇개있는지 반환함.
System.out.println("포함된 개수는 " + count + "개 입니다.");
}
}
'백엔드 과정 > Java' 카테고리의 다른 글
Java 문제풀이 4-1. 문자열을 입력받아 배열에 저장하고 문자 검색하기. (0) | 2021.12.27 |
---|---|
[Java] day8. 배열 (0) | 2021.12.27 |
Java 문제풀이 3-2. 랜덤숫자 맞추기 게임 (0) | 2021.12.27 |
Java 문제풀이 3-1. 반복문으로 입력값 소수 판별하기 (0) | 2021.12.27 |
[Java] day7. 반복문의 제어 / break문 continue문 (0) | 2021.12.26 |