2016-10-01 7 views
0

좋아, 햄버거 개체를 만들려고하는데, 토핑과 다른 것들을 배열해야한다. 각 개체의 배열에 값을 할당하려고 할 때마다 컴파일 오류가 계속 발생합니다. 여기에 클래스를배열에 값을 할당하는 방법은 무엇입니까?

/* 
This Hamburger class is to define how to make a Hamburger sandwich 
Then this class will be used to create a Hamburger object in the tester class 

Fields & their purpose 
4. toppings – an array of Strings storing the toppings on the burger. 

*/ 
public class Hamburger { 

    //declear private fields 
    private int weight; 
    private String doneness; 
    private boolean cheese; 
    private String[] toppings; 

     //creat arrays for each object, then use it in each specific object 
     //String[] hamburgerToppings = {"l", "m"}; 
     //String[] cheseburgerToppings = {"l", "m"}; 
     //String[] anotherCheseburgerToppings = {"l", "m"}; 


    //create printable array of toppings 


    //full constructor 
    public Hamburger(int weightOZ, String done, 
        boolean WantCheese, String[] topps) {  
     weight = weightOZ; 
     doneness = done; 
     cheese = WantCheese; 
     toppings = topps; 
     } 

    //overloaded no-arg constructor 
    public Hamburger(){ 

    } 

    //copy constructor 
    public Hamburger(Hamburger burger){  
     weight = burger.weight; 
     doneness = burger.doneness; 
     cheese = burger.cheese; 
     toppings = burger.toppings;  
    } 

    //declear getter methods 
    public int getWeight() { 
     return weight; 
} 
    public String getDoneness() { 
     return doneness; 
} 

을 그리고 여기 테스터 클래스 어떤 도움이 감사

//This class will test & run the Hamburger class 
//It has the main method to run the other methods in the Hamburger class 
public class HamburgerTester { 

    public static void main(String[] args) { 

     //Creating Hamburger objects 
     Hamburger hamburger = new Hamburger(); 
     Hamburger cheseburger = new Hamburger(); 
     Hamburger anotherCheseburger = new Hamburger(cheseburger); 

     //Setting Values for hamburger object 
     hamburger.setWeight(7); 
     hamburger.setDoneness("Mediuem Rare"); 
     hamburger.setCheese(false); 
     hamburger.setToppings(); 

     //Setting Values for cheseburger object 
     cheseburger.setWeight(10); 
     cheseburger.setDoneness("Well Done"); 
     cheseburger.setCheese(true); 
     //cheseburger.setToppings(); 

     //anotherCheseburger object is a copy of cheseburger 
     //there's no need to set special values for it 

     //Printing Results 
     System.out.println("Hamburger weight is: " + hamburger.getWeight() + 
         " doneness: " + hamburger.getDoneness() + 
         " with/without cheese: " + hamburger.getCheese() + 
         " Toppings: " + hamburger.getToppings()); 

     System.out.println("cheseburger: " + cheseburger.toString()); 
     System.out.println("cheseburger copy: " + anotherCheseburger.toString()); 
     System.out.println("cheseburger wieght after a bite: " + cheseburger.bite()); 
     System.out.println("cheseburger wieght after a 2 bites: " + cheseburger.bite());   
    } 
} 

    public boolean getCheese() { 
     return cheese; 
} 
    public String[] getToppings() { 
     return toppings; 
} 


    //declear setter methods 
    public void setWeight(int weightOZ) { 
     this.weight = weightOZ; 
} 
    public void setDoneness(String done) { 
     this.doneness = done; 
} 
    public void setCheese(boolean WantCheese) { 
     this.cheese = WantCheese; 
} 
    public void setToppings(String[] topps) { 
     this.toppings = topps;   
     for(int i =0; i < toppings.length; i++) { 
     if (i > 0) 
      System.out.print(", ");   
     System.out.print(toppings[i]); 
     } 
} 


    //copy method 
    public Hamburger copy(){ 
    Hamburger burger = new Hamburger(weight, doneness, cheese, toppings); 
    return burger;  
    } 

    //bite methode 
    public int bite(){ 
     if (weight > 0) 
      weight--;  
     return weight; 
    } 

    //toString method to print what each Hamburger contains 
    public String toString(){ 

    String str = "Weight is: " + weight + 
        "\nDoneness is: " + doneness + 
        "\nCheese is: " + cheese + 
        "\nToppings are: " + toppings;    
     return str; 
    } 
} 

입니다, 감사합니다!

+0

컴파일 오류를 아는 데 도움이됩니다. –

+0

파일 : C : \ Users \ khale \ Desktop \ Assingment 2 진행 \ HamburgerTester.java [행 : 22] 오류 : Hamburger 클래스의 setToppings 메서드는 지정된 유형에 적용 할 수 없습니다. 필수 항목 : java.lang.String [] found : 인수 없음 이유 : 실제 및 형식 인수 목록의 길이가 다릅니다 –

답변

-1

아플 시도, 무엇을하려하십니까? 햄버거 객체에 대한 getter 및 setter 메서드는 Hamburgertester 클래스에있는 것으로 보입니다.

+0

테스터 클래스에서 setter 및 getter를 호출하고 있는데 토핑을 나란히 설정하려고합니다. 테스터 클래스의이 줄에있는 { "l", "t", "m"} hamburger.setToppings(); –

+0

이것은 대답이 아닙니다. 코멘트로 써야합니다. – Zarwan

+0

죄송합니다. 회신에 처음입니다. – wawiiii

관련 문제