편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2019.12.16

    [Java] 공부중 책에 있는 예제를 실행했더니 오류가 납니다. java.lang.NoSuchMethodError


    아래가 책에 있는 코드를 그대로 옮긴 코드입니다.

    ----------------------------------아래--------------------------------------

    class FruitSeller {
        int numOfApple;
        int myMoney;
        int APPLE_PRICE;
    
        public int saleApple(int money) {
            int num = money / APPLE_PRICE;
            numOfApple -= num;
            myMoney += money;
            return num;
        }
    
        public void showSaleResult() {
            System.out.println("남은 사과 : " + numOfApple);
            System.out.println("판매 수익 : " + myMoney);
        }
    
        public void initMembers(int money, int appleNum, int price) {
            myMoney = money;
            numOfApple = appleNum;
            APPLE_PRICE = price;
        }
    }
    
    class FruitBuyer {
        int myMoney = 10000;
        int numOfApple = 0;
    
        public void buyApple(FruitSeller seller, int money) {
            numOfApple += seller.saleApple(money);
            myMoney -= money;
        }
    
        public void showBuyResult() {
            System.out.println("현재 잔액 : " + myMoney);
            System.out.println("사과 갯수 : " + numOfApple);
        }
    }
    
    class FruitSalesMain2 {
    
        public static void main(String[] args) {
            FruitSeller seller1 = new FruitSeller();
            seller1.initMembers(0, 30, 1500);
    
            FruitSeller seller2 = new FruitSeller();
            seller2.initMembers(0, 20, 1000);
    
            FruitBuyer buyer = new FruitBuyer();
            buyer.buyApple(seller1, 4500);
            buyer.buyApple(seller2, 2000);
    
            System.out.println("과일 판매자1의 현재 상황");
            seller1.showSaleResult();
    
            System.out.println("과일 판매자2의 현재 상황");
            seller2.showSaleResult();
    
            System.out.println("과일 구매자의 현재 상황");
            buyer.showBuyResult();
        }
    
    }
    

    이클립스로 실행시

    Exception in thread "main" java.lang.NoSuchMethodError: chapter07.FruitSeller.initMembers(III)V
        at chapter07.FruitSalesMain2.main(FruitSalesMain2.java:46)
    

    라는 오류가 뜨며 실행되지 않습니다. 검색해보니 이 에러는 main 메소드에 문제가 있을때 나오는 에러라는데 무슨 문제인지 알지 못하겠어서 이렇게 질문합니다. 도와주세요.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.12.16

    [Java] 공부중 책에 있는 예제를 실행했더니 오류가 납니다.


    아래가 책에 있는 코드를 그대로 옮긴 코드입니다.

    ----------------------------------아래--------------------------------------

    class FruitSeller { int numOfApple; int myMoney; int APPLE_PRICE;

    public int saleApple(int money) {
        int num = money / APPLE_PRICE;
        numOfApple -= num;
        myMoney += money;
        return num;
    }
    
    public void showSaleResult() {
        System.out.println("남은 사과 : " + numOfApple);
        System.out.println("판매 수익 : " + myMoney);
    }
    
    public void initMembers(int money, int appleNum, int price) {
        myMoney = money;
        numOfApple = appleNum;
        APPLE_PRICE = price;
    }
    

    }

    class FruitBuyer { int myMoney = 10000; int numOfApple = 0;

    public void buyApple(FruitSeller seller, int money) {
        numOfApple += seller.saleApple(money);
        myMoney -= money;
    }
    
    public void showBuyResult() {
        System.out.println("현재 잔액 : " + myMoney);
        System.out.println("사과 갯수 : " + numOfApple);
    }
    

    }

    class FruitSalesMain2 {

    public static void main(String[] args) {
        FruitSeller seller1 = new FruitSeller();
        seller1.initMembers(0, 30, 1500);
    
        FruitSeller seller2 = new FruitSeller();
        seller2.initMembers(0, 20, 1000);
    
        FruitBuyer buyer = new FruitBuyer();
        buyer.buyApple(seller1, 4500);
        buyer.buyApple(seller2, 2000);
    
        System.out.println("과일 판매자1의 현재 상황");
        seller1.showSaleResult();
    
        System.out.println("과일 판매자2의 현재 상황");
        seller2.showSaleResult();
    
        System.out.println("과일 구매자의 현재 상황");
        buyer.showBuyResult();
    }
    

    }

    이클립스로 실행시 " Exception in thread "main" java.lang.NoSuchMethodError: chapter07.FruitSeller.initMembers(III)V at chapter07.FruitSalesMain2.main(FruitSalesMain2.java:46) " 라는 오류가 뜨며 실행되지 않습니다. 검색해보니 이 에러는 main 메소드에 문제가 있을때 나오는 에러라는데 무슨 문제인지 알지 못하겠어서 이렇게 질문합니다. 도와주세요.