티스토리 뷰

Java/오답노트

문제1 - 쉬움

Jenny_yoon 2023. 1. 3. 09:04
728x90
반응형

//응용문제3.

//문자와 숫자를 입력받고, 문자에 입력받은 숫자만큼 건너뛴 문자를 출력해라.

//예시.cat과 5를 입력 받았다면 hfy가 출력되어야함.

 

틀린 답안
		   System.out.println("문자를 입력해라");
		   Scanner sc = new Scanner(System.in);
		   String ch = sc.nextLine();
		   
		   System.out.println("숫자를 입력해라");
		   Scanner scn = new Scanner(System.in);
		   int scn2 = scn.nextInt();
		   
		   int ea = ch.length();
		   for(int i=0; i<ea; i++) { //오류발생!!
			  (char)(ch.charAt(i) + scn2);
			   System.out.print((char)(ch.charAt(i) + scn2));
		   }
오류 내용

: Syntax error on token "{", yield expected after this token

해결방법 

: 처음에는 괄호 { }의 문제인줄 알았다. 문제는 (char)(ch.charAt(i) + scn2); 이 문장이었다. 

변수를 생성해 이 문장의 값을 넣어줘야 했던 것!

예를 들면 int aa =  (char)(ch.charAt(i) + scn2); 이런식으로 변수를 생성하고 초기화를 해주면 오류가 나지 않는다.

 

그리고 print에 이미 똑같은 문장이 있기 때문에 애초에 (char)(ch.charAt(i) + scn2); 이 문장은 필요가 없었다!!!!

 

 

정답 
System.out.println("문자를 입력해라");
Scanner sc = new Scanner(System.in);
String ch = sc.nextLine();

System.out.println("숫자를 입력해라");
Scanner scn = new Scanner(System.in);
int scn2 = scn.nextInt();

int ea = ch.length();
for(int i=0; i<ea; i++) {
   System.out.print((char)(ch.charAt(i) + scn2));
}

 

728x90
반응형
댓글
250x250
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday