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”}旁边的某个值;这不是答案。你应该把它作为一个评论。哦,对不起,新的回复。