옵션 |
|
안녕하세요...기말고사를 앞두고 문제를 잘 풀어오다 도저히 풀수 없어서 질문을 올리게 되었습니다..
고수님들 도와주세요 ㅠㅠ...
import java.util.*;
class GoodsStock{
private String name;
private int amount;
public GoodsStock(String name, int amount){
this.name = name;
this.amount = amount;
}
public void plusAmount(int a){ //재고수량 더하기
this.amount += a;
}
public int minusAmount(int a){ //재고수량 빼기
if(this.amount < a){
amount = 0;
return 0;}
else{
this.amount = this.amount-a;
return amount-a;
}
}
public String toString() { //필드 출력
String str;
str = "상품명 : " + name + " 재고수량 : " + amount;
return str;
}
public String getName(){
return name;
}
public int getAmount(){
return amount;
}
}
public class GoodsStockTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
GoodsStock[] obj = new GoodsStock[3];
GoodsStock max = null;
for(int i = 0;i<obj.length;i++){
System.out.print(i+1 + "번째");
obj[i] = new GoodsStock(input.next(), input.nextInt());
}
for(int i = 0;i<obj.length;i++){
int a = (int)Math.random()*10; << 아니 왜 안먹히죠 ㅠㅠㅠ 메소드가 안먹힙니다!
obj[i].plusAmount(a);
}
for(int i = 0;i<obj.length;i++){
int a = (int)Math.random()*10;
<< 아니 왜 안먹히죠 ㅠㅠㅠ 메소드가 안먹힙니다..22obj[i].minusAmount(a);
}
for(GoodsStock b : obj){
System.out.println(b);
}
System.out.print("상품명을 입력하세요 : ");
for(int i=0;i<obj.length;i++){
if(obj[i].getName().equals(input.next())){ << obj[0]일때 해당하는 값만을 입력해야 일치한다고 나오는데 이걸 입력후에 obj[0]~[2]까지 전부 비교하고 싶은데 어떻게 해야할지 모르겠습니다
System.out.println("일치합니다. 해당 상품명의 재고수량은 : " + obj[i].getAmount());
break;
}
else{
System.out.println("일치하는 상품명이 없습니다.");
break;}
}
System.out.println("재고수량을 큰값으로 정렬합니다.");
for(int i=0;i<obj.length;i++){
for(int j=i+1;j<obj.length;j++){
if(obj[i].getAmount()<obj[j].getAmount())
max = obj[i];
obj[i] = obj[j];
obj[j] = max;
}
}
for(GoodsStock b : obj){
System.out.println(b);
}
}
}
출처 | 나의 이클립스.. |