게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안녕하세요 자바초보입니다ㅠㅠ궁금한게 있어 질문드리러 왔습니다..
게시물ID : programmer_19227짧은주소 복사하기
작성자 : 내맘대로간다
추천 : 0
조회수 : 400회
댓글수 : 6개
등록시간 : 2016/12/07 23:43:37
옵션
  • 본인삭제금지

안녕하세요...기말고사를 앞두고 문제를 잘 풀어오다 도저히 풀수 없어서 질문을 올리게 되었습니다..

고수님들 도와주세요 ㅠㅠ...



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;                        

<< 아니 왜 안먹히죠 ㅠㅠㅠ 메소드가 안먹힙니다..22

      obj[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);

           }

   

      }

 

}

      

출처 나의 이클립스..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호