인프런 커뮤니티 질문&답변
for(int a : abc) 오류
작성
·
339
0
<에러 내용입니다.>
/judger/run/943e7a3cacb94390ac0d218d19e1ef42/Main.java:10: error: illegal start of type
for(int c: str){
^
/judger/run/943e7a3cacb94390ac0d218d19e1ef42/Main.java:10: error: ')' expected
for(int c: str){
^
/judger/run/943e7a3cacb94390ac0d218d19e1ef42/Main.java:10: error: <identifier> expected
for(int c: str){
^
/judger/run/943e7a3cacb94390ac0d218d19e1ef42/Main.java:15: error: <identifier> expected
System.out.println(cnt);
^
/judger/run/943e7a3cacb94390ac0d218d19e1ef42/Main.java:15: error: <identifier> expected
System.out.println(cnt);
^
5 errors
<아래는 제 코드입니다.>
import java.util.Scanner;
public class Main {
Scanner scn = new Scanner(System.in);
char[] str = scn.nextLine().toUpperCase().toCharArray();
int com = scn.next().toUpperCase().charAt(0);
int cnt = 0;
for(int c: str){
if(c == com){
cnt++;
}
}
System.out.println(cnt);
}
인텔리제이에서는 잘 작동합니다.
메인 메소드 안에 내용만 복붙했고
잘 작동해야 하는데
for(:) 작동 못 하는 것 같은데 자바 버전 몇인가요?
퀴즈
대소문자를 구분하지 않고 문자열 내 특정 문자의 총 개수를 세려면, 어떤 방법이 가장 효율적일까요?
문자열을 반복하며 각 문자가 찾으려는 문자의 대문자 또는 소문자인지 모두 비교한다.
문자열 전체를 한 가지 케이스(예: 모두 대문자)로 통일한 후 해당 문자의 개수를 센다.
대문자와 소문자의 개수를 각각 세어 합산한다.
Set 자료구조를 사용하여 중복 없이 문자를 저장한 후 개수를 센다.






자동 형변환 돼요.
제가 다시 보니 복붙을 잘 못했네요.
답변 감사합니다.