gpt4 book ai didi

java - 如何在循环中使用此设置方法

转载 作者:行者123 更新时间:2023-11-29 05:17:47 25 4
gpt4 key购买 nike

这是一道作业题,所以最好我想写尽可能多的代码,只需要一个指针。

我有一个名为 Sandwich 的类,它有一个方法来设置主要成分和其他一些东西 -

public class Sandwich {

private String mainIngredient, bread;


String getMainIngredient(){
return mainIngredient;
}

void setMainIngredient(String mainIng){
mainIngredient = mainIng;
}

void setBread(String dough){
bread = dough;
}


void setPrice(double cost){
price = cost;
}

现在在另一个类 TestSandwich 中,我已经初始化了一个数组,作为问题的一部分;

Sandwich[] sandwiches = new Sandwich[5];

现在我需要做的是循环并每次为 mainIngredient 和 bread 赋值。我想我会想按照这个思路做一些事情,但我不确定如何正确地做。

for(int i = 0; i < 5; i++){

System.out.println("Insert a main ingredient");
String userInput = sc.next();

sandwiches[i].setBread(userInput);

System.out.println("Insert a bread");
userInput = sc.next();

sandwiches[i].setMainIngredient(userInput);


System.out.println(sandwiches[i].getMainIngredient());
System.out.println("");

}

主要问题是 - sandwiches[i].setMainIngredient(userInput);我对诸如此类的数组和方法没有真正的经验,因此任何有关正确语法的帮助都会很棒。

谢谢

最佳答案

Sandwich[] sandwiches = new Sandwich[5]; 创建一个包含 5 个 null 引用的数组。

您需要自己初始化每个元素;在你的循环中写

三明治[i] = new Sandwich();

否则您将得到 NullPointerException。完成后,您可以像当前一样调用设置方法。展望 future ,您可以声明一个双参数构造函数,将面包和主要成分作为参数。这是更好的样式,因为 (i) 您避免了 setter 和 (ii) 对象在构造和使用之间处于定义不明确的状态。

关于java - 如何在循环中使用此设置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25930035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com