Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 영흥도여행
- 경희대맛집
- 아쿠아필후기
- sql
- 혼밥
- smtp
- 맛집
- 홍대데이트
- 파주데이트
- 가성비호텔
- 여자혼자여행
- 토요코인인천부평
- 부평갈만한곳
- 프로그래머스
- 소제동
- 피치항공후기
- 핫플
- 인천데이트
- 아쿠아플라넷여수
- 임시비밀번호
- 대전카페추천
- 파주갈만한곳
- 내돈내산
- 맛집추천
- 자바
- javascript
- 자바스크립트
- Java
- 인천갈만한곳
- naversmtp
Archives
- Today
- Total
맵크나이트의 마라탐방
JAVA toLowerCase(),charAt() 활용한 문자찾기문제 오답노트 본문
문자 찾기
설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String ch1 = sc.next();
searchChar(str1.toLowerCase(), ch1.toLowerCase());
}
public static int searchChar(String str, String ch){
int cnt = 0;
for(int i = 0; i<str.length(); i++){
if(str.charAt(i) == ch.charAt(0)){
cnt++;
}
}
System.out.println(cnt);
return cnt;
}
정답코드
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str1 = sc.next();
char ch1 = sc.next().charAt(0);
searchChar(str1.toLowerCase(), ch1);
}
public static int searchChar(String str, char ch){
int cnt = 0;
for(int i = 0; i<str.length(); i++){
if(str.charAt(i) == ch){
cnt++;
}
}
System.out.println(cnt);
return cnt;
}
}
위의 코드로 입력하면 char 값이 대문자일 시 리턴값이 0으로 뜸;;
scan받은 값을 둘 다 소문자로 받기 위해 toLowerCase()를 사용하기 위해선
데이터타입이 String이어야했음
char는 toLowerCase() 사용불가능,
searchChar의 char 를 String 타입으로 바꾸고,
if문내에서는 ch.charAt(0)번째를 비교한다
'JAVA > JAVA알고리즘' 카테고리의 다른 글
JAVA 알고리즘 isUpperCase(), isLowerCase(), toUpperCase(), toLowerCase()를 이용한 대소문자 변환 문제 (0) | 2023.07.12 |
---|