코딩공부/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
반응형