코딩공부/Java

[Java] 이클립스에서 Run 실행 후 만나게 되는 여러 에러 종류와 해결법

뉼👩🏻‍💻 2022. 1. 24. 00:15
728x90
반응형
SMALL

 

문제풀다가 마주하게 되는 다양한 에러들. 에러뜰때마다 찾고 있는 바보같은 짓을 그만하고자 쓰는 정리글. 그리고 겸사겸사 다양한 에러들 정리하고 하고 공부해보고자 한다. 

에러문 : #FFE0AF

이유 : #F5EABF

 

[컴파일 에러] 

 

class, inferface, or enum expected 

: 제시된 키워드인 class, interface, enum이 없다는 뜻.  / 괄호의 갯수가 일치하지 않는 경우 발생함 

 


[-] 

a cannot be resolved to a variable   // for문 사용시. for문에서 벗어나서 for문 안의 변수를 사용하려고 할 때 나타나는 오류 

 

 

Cannot make a static reference to the non-static field coinStack

: 메인의 static을 수정할 수 없기때문에 

메인에서 쓰는 변수는 다 static을 붙여줘야 함 

 

예시 

import java.util.Scanner;
import java.util.Stack;

/*잔돈 받기
2000원을 내고 물건을 샀다.
1350원 짜리 물건이다. 
잔돈을 받자. 
650원의 받자

잔돈의 종류 : int[] coins = {10, 50, 100, 300, 500};
따라서 650 = > 500 1개, 100 1개, 50원 1개
2830 -> 500 5개, 300원 1개, 10원 3개 
*/

public class Example1 {
	
	static Stack<Integer> coinStack = new Stack();	

	public static void main(String[] args) {

		// 키보드에 내가 낸 돈, 
	Scanner sc = new Scanner(System.in);
	System.out.println("내가 낸 돈 : ");
	int money = sc.nextInt();
	System.out.println("상품 가격 : ");
	int price = sc.nextInt();
	
	//잔돈 총액 계산	
	int mymoney = money - price; 
	System.out.println(mymoney);
	
	int [] coins = {10, 50, 100, 300, 500}; //오름차순 정렬

	for (int i : coins) {
		coinStack.push(i); //5개 push함		
	}
}
	
	//잔돈 총액을 charge 에 전달 
/*	int charge(mymoney) {                                       ****반복
		int coincalue = coinStack.pop(); //현재 코인값
		int coinCount = mymoney / coinValue; //500원 갯수
		
		int coinValue = coinStack.pop(); 
		mymoney = mymoney % coinValue;
		coinCount = mymoney / coinValue; //300원 동전 갯수
		,,,,
		반복 
	}
*/
	
	 int charge(int mymoney) {   //charge가 static이 아니면 Stack도 static이 아니여도 됨
		int coinValue = coinStack.pop(); 
		int coinCount = mymoney / coinValue; 
		if(mymoney == 0) {return 0;}
		return charge(mymoney % coinValue); 		


	
	}
}
728x90
반응형