Java 如何为数组赋值?

Java 如何为数组赋值?,java,arrays,Java,Arrays,好的,我正在尝试创建一个汉堡包对象,它必须有一系列的配料和其他东西。每次尝试为每个对象的数组赋值时,都会出现编译错误。这是课程 /* 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. toppi

好的,我正在尝试创建一个汉堡包对象,它必须有一系列的配料和其他东西。每次尝试为每个对象的数组赋值时,都会出现编译错误。这是课程

/*
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;
 }
这是tester类

//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; 
   }
}
//此类将测试并运行Hamburger类
//它拥有运行Hamburger类中其他方法的主要方法
公共级汉堡酒店{
公共静态void main(字符串[]args){
//创建汉堡对象
汉堡包=新汉堡包();
汉堡cheseburger=新汉堡();
汉堡包另一个汉堡=新汉堡包(汉堡);
//汉堡对象的设置值
汉堡.定重(7);
汉堡包。生熟(“生熟”);
汉堡包、奶酪(假);
汉堡包。馅料();
//cheseburger对象的设置值
cheseburger.设定重量(10);
切塞伯格:干得好(“干得好”);
cheseburger.setCheese(真);
//cheseburger.setToppings();
//另一个cheseburger对象是cheseburger的副本
//没有必要为它设置特殊值
//打印结果
System.out.println(“汉堡重量为:”+Hamburger.getWeight()+
“Donness:”+汉堡包。GetDonness()+
“带/不带奶酪:”+汉堡包.getCheese()+
“浇头:”+汉堡包。getToppings());
System.out.println(“cheseburger:+cheseburger.toString());
System.out.println(“cheseburger复制:+anotherCheseburger.toString());
System.out.println(“咬一口后的cheseburger-wieght:+cheseburger.bite());
System.out.println(“咬了两口后的切塞堡wieght:+cheseburger.bite());
}
}
公共布尔getCheese(){
返回奶酪;
}
公共字符串[]getToppings(){
返回浇头;
}
//declear setter方法
公共空间设定重量(整数重量盎司){
此重量=重量盎司;
}
公共无效设置完成(字符串完成){
这个。完成=完成;
}
公共void setCheese(布尔wantchese){
this.cheese=WantCheese;
}
公共void setToppings(字符串[]topps){
this.toppings=topps;
对于(int i=0;i0)
系统输出打印(“,”);
系统输出打印(浇头[i]);
}
}
//复制方法
公共汉堡包副本(){
汉堡汉堡=新汉堡(重量、甜度、奶酪、配料);
返回汉堡;
}
//咬法
公共int bite(){
如果(重量>0)
重量--;
返回重量;
}
//toString方法打印每个汉堡包含的内容
公共字符串toString(){
String str=“重量为:”+重量+
“\n唯一性是:“+Donness”+
“\n中文是:“+奶酪+
“\n标题为:“+浇头;
返回str;
}
}

感谢您的帮助,谢谢

我会尽力帮忙的,你想做什么?对象Hamburger的getter和setter方法似乎在Hamburgertester类中。

了解编译错误会有帮助。文件:C:\Users\khale\Desktop\Assingment 2 progress\Hamburgertester.java[line:22]错误:Hamburger类中的方法setToppings无法应用于给定类型;必需:java.lang.String[]找到:无参数原因:实际参数列表和形式参数列表的长度不同我在tester类中调用setter和getter,我试图在tester类hamburger.setToppings()的这一行中,将toppings设置为{“l”、“t”、“m”}旁边的某个值;这不是答案。你应该把它作为一个评论。哦,对不起,新的回复。