오류노트

[코딩 오류 노트] 제어문과 외부 클래스 연결

망고고래 2023. 10. 12. 17:17

1. import 미입력

오류 메시지

Scanner cannot be resolved to a type

 

코드

int age;
Scanner sc;

 

해결

import java.util.Scanner;를 class 위의 공간에 추가한다.

오류메시지를 클릭해서 나오는 import Scanner를 더블클릭해도 된다.

 

 

 

2. .nextLine()과 .nextInt() 혼동

오류 메시지

Type mismatch: cannot convert from String to int

 

코드

String mango;
Scanner sc;
sc = new Scanner(System.in);
mango = sc.nextLine();
System.out.println(mango);
int price;
price = sc.nextLine();
System.out.println(price);

 

해결

price = sc.nextInt();

nextLine()은 문자를 입력할 때 사용하고, nextInt는 숫자를 입력할 때 사용한다.

 

 

 

3. console창에서 입력시 .nextLine()과 .nextInt() 혼동

오류 메시지

Exception in thread "main" java.util.InputMismatchException

at java.base/java.util.Scanner.throwFor(Scanner.java:939)

at java.base/java.util.Scanner.next(Scanner.java:1594)

at java.base/java.util.Scanner.nextInt(Scanner.java:2258)

at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

at Chapter4.exam4_2.main(exam4_2.java:14)

 

코드

System.out.println("문자를 입력해주세요");
mango = sc.nextLine();
System.out.println("숫자를 입력해주세요");
price = sd.nextInt();
System.out.println(mango);
System.out.println(price);

에서 숫자와 문자 순서를 반대로 입력

 

해결

System.out.println("문자를 입력해주세요");와 같은 가이드를 활용하여 올바른 유형의 값을 입력할 수 있도록 한다.

 

 

 

4. if-else if문에서 if문과 else if문의 조건문에 ; 사용

오류 메시지

Syntax error on token "else", delete this token

 

코드

if(age>19);
{ System.out.println("성인입니다.");
System.out.println("성인요금이 적용됩니다."); }
else if(age>13);
{ System.out.println("청소년입니다.");
System.out.println("청소년요금이 적용됩니다.");

 

해결

if문과 else if문은 아직 끝나지 않은 상태이므로 조건문에 ;를 사용하지 않는다.

 

 

 

5. switch문의 조건식에 boolean값 사용

오류 메시지

Type mismatch: cannot convert from boolean to String

 

코드

switch(fruit)
{ case fruit.equals("망고"):
System.out.println("망고 좋아");
}

 

해결

case "망고":

switch문은 true/false가 아닌 값에 따라 동작한다.

 

 

 

6. switch문의 조건식에 : 대신 ; 사용

오류 메시지

Syntax error, insert ":" to complete SwitchLabel

 

코드

case "파인애플";
        System.out.println(fruit+"좋아");
        break;

 

해결

case "파인애플":

switch문의 조건식에는 :을 사용한다.

 

 

 

7. switch문의 조건식 중복

오류 메시지

Duplicate case

Duplicate case

 

코드

case "파인애플":
        System.out.println(fruit+"좋아");
        break;
case "파인애플":
        System.out.println(fruit+"좋아");
        break;

 

해결

조건식은 중복되지 않도록 한다.