public class 농작물 {
String 작물명;
int 작물코드;
int 수량;
int 생산량;
농작물(String 작물명, int 수량, int 작물코드) {
this.작물명=작물명;
this.수량=수량;
this.작물코드=작물코드;
}
}
-------------------------------------
public class 땅 {
int 지력 = 100;
public 농작물 경작(농작물 입력) {
if (입력.작물코드==0)
입력.생산량 = 입력.수량 * this.지력;
this.지력 = this.지력 + 20;
if (입력.작물코드==1)
입력.생산량 = 입력.수량 * this.지력;
this.지력 = this.지력 - 50;
if (입력.작물코드==2)
입력.생산량 = 입력.수량 * this.지력;
this.지력 = this.지력 - 10;
if (지력<0)
System.out.println("더 이상 경작할 수 없습니다.");
입력.수량=0;
return 입력;
}
}
------------------------------------------
public class 농부 {
public static void main(String[] args) {
땅 땅1 = new 땅();
농작물 콩 = new 농작물("콩", 2, 0);
농작물 인삼 = new 농작물("인삼", 2, 1);
땅1.경작(콩);
System.out.println(땅1.지력+ " "+ 콩.생산량);
땅1.경작(인삼);
System.out.println(땅1.지력+ " "+ 인삼.생산량);
}
}
이런 소스코드가 있다고 했을 때에
작물코드 0을 받으면 지력은 + 20이 되어야 합니다
그러니까
120 200
70 140
이게 맞는 결과겠죠
그런데 실행 결과는
60 200
20 160
이렇게 나오고 있습니다..;;;
지력이 -40이 되어 나오는 거죠 ;;;
무엇이 문제인지 도저히 모르겠습니다 ;;;;;
뭐를 잘못한건가요?