1. 문자 찾기
설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
예시 입력 1
Computercooler
c
예시 출력 1
2
소스코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = 0;
System.out.println("문자열을 입력하시오.");
String str1 = sc.next();
System.out.println("찾을 문자를 입력하시오.");
String str2 = sc.next();
//찾을 문자 value에 저장
int value = str2.charAt(0);
//소문자이면 value에 대문자 값으로 저장시켜준다
if (str2.charAt(0) >= 'a') {
value = str2.charAt(0) - 32;
}
//str1 전체 돌리면서 대소문자 관계없이 value와 같으면 count 1씩 증가 시킴
for (int i = 0; i < str1.length(); i++) { //C = 67 c=99 32차이
if (str1.charAt(i) == value || str1.charAt(i) == value + 32) {
count++;
}
}
System.out.println(count);
}
}
소스코드2 (toUpperCase() 사용)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = 0;
System.out.println("문자열을 입력하시오.");
String str1 = sc.next();
System.out.println("찾을 문자를 입력하시오.");
String str2 = sc.next();
char c = str2.charAt(0);
//모두 대문자로 변경
str1 = str1.toUpperCase();
c = Character.toUpperCase(c);
for (int i = 0; i < str1.length(); i++) {
if (str1.charAt(i) == c) {
count++;
}
}
System.out.println(count);
}
}
toUpperCase()
- String 타입의 경우 str.toUpperCase(); 와 같이 사용되며 모든 문자가 대문자로 변경된다.
- char 타입의 경우 c의 char 변수가 있다고 하면 Character.toUpperCase(c) 와 같이 사용하면 된다
- 모두 소문자로 변경하고 싶은 경우에는 toLowerCase를 사용하면 된다.