CookieJava项目
我已经上了几周的java课,其中一项家庭作业我似乎搞不懂。这是作业 “显示包含三种cookie的菜单。如果输入太高,则使用GetGoodInt(公共静态int GetGoodInt(int-tLow,int-tHigh))jar提示用户需要哪种cookie,如果输入太低,则使用GetGoodInt(公共静态int GetGoodInt(int-tLow,int-tHigh))jar。 制作一块饼干,把它放到烤箱里煮,然后给人吃。 !文本加粗,如此后接声明是一个必需且不可更改的类 CookieCookieJava项目,java,Java,我已经上了几周的java课,其中一项家庭作业我似乎搞不懂。这是作业 “显示包含三种cookie的菜单。如果输入太高,则使用GetGoodInt(公共静态int GetGoodInt(int-tLow,int-tHigh))jar提示用户需要哪种cookie,如果输入太低,则使用GetGoodInt(公共静态int GetGoodInt(int-tLow,int-tHigh))jar。 制作一块饼干,把它放到烤箱里煮,然后给人吃。 !文本加粗,如此后接声明是一个必需且不可更改的类 Cookie
- 布尔mCooked
- 串珠
- Cookie(String tFlavor)//这是一个构造函数。请注意,当您拥有此构造函数时,它不允许您使用延迟默认构造函数
- String toString()//这允许您将cookie输出到控制台。切勿手动调用它
- void Cook(Cookie tCookie)//只是将mCooked设置为true
- void EatCookie(Cookie tCookie)//如果是煮熟的,则输出类型和质量。如果不是,则打印一句关于沙门氏菌症状的句子
package mainpackage;
public class Cookie
{
public Boolean mCooked;
public String mFlavor;
public Cookie(String tFlavor)
{
tFlavor=mFlavor.toString();
}
public String toString()
{
int i = Week9Jar.Input.GetGoodInt(1, 3);
String tFlavor= Integer.toString(i);
if(tFlavor=="1")
mFlavor="Chocolate Chip";
else if(tFlavor=="2")
mFlavor="Peanut Butter";
else if(tFlavor=="3")
mFlavor="Oatmeal Raisin";
return mFlavor;
}
}
package mainpackage;
public class Oven
{
void Cook(Cookie tCookie)
{
tCookie.mCooked=true;
}
}
package mainpackage;
public class main {
public static void main(String[] args) {
// Week 9 Homework part I
Cookie tCookie=null;
Oven tOven= new Oven();
Person tPerson = new Person();
System.out.println("What type of Cookie would you like?");
System.out.println("1) Chocolate Chip");
System.out.println("2) Peanut Butter");
System.out.println("3) Oatmeal Raisin");
//get Type from user
tCookie=new Cookie(Week9Jar.Input.GetGoodInt(1, 3));
tOven.Cook(tCookie);
tPerson.EatCookie(tCookie);
}
}
您的
Cookie
构造函数是错误的:您将tFlavor
作为参数并为其赋值,执行构造函数后,该值将丢失。您可能需要的是:
public Cookie(String tFlavor) {
mFlavor = tFlavor;
}
您不需要对String
对象调用toString
:它们已经是字符串了
此外,从另一个类访问一个类的数据成员不是一个好做法,即使它来自同一个包:
public void Cook(Cookie cookie) {
cookie.setCooked(true);
}
并在类中添加setCooked
方法Cookie
:
public void setCooked(boolean b) {
mCooked = b;
}
你忘了检查饼干是怎么煮的。你可能会得到烧焦的饼干,必须处理掉。
public void setCooked(boolean b) {
mCooked = b;
}