Java费用类
我有个问题…我的教授一直在跳舞 “Java费用类,java,object,Java,Object,我有个问题…我的教授一直在跳舞 “chooseCategory方法将与您的setCatNumsetter方法一起使用 setCatNumsetter方法应如下所示: public void setCatNum( ) { catNum = chooseCategory( ); } 这与传统的setter方法具有不同的外观 chooseCategory应打印所有6个类别,然后使用费用说明 提示并返回类别号。您需要使用扫描仪。“ 这是否意味着他们希望我有一个对象调用chooseCategory方
chooseCategory
方法将与您的setCatNum
setter方法一起使用
setCatNum
setter方法应如下所示:
public void setCatNum( ) {
catNum = chooseCategory( );
}
这与传统的setter方法具有不同的外观
chooseCategory
应打印所有6个类别,然后使用费用说明
提示并返回类别号。您需要使用扫描仪。“
这是否意味着他们希望我有一个对象调用chooseCategory
方法,然后有chooseCategory
方法,如下所示:
private void chooseCategory() {
//should print all 6 of your categories, then, using the expense description,
//prompt and return the category number. You will need to use Scanner.
System.out.println("Choose a category <number> for " + description);
for(int i =0; i<categories.length; i++){
System.out.println(i + " : " + categories[i]);
}
Scanner userInput = new Scanner(System.in);
int catUn = userInput.nextInt();
catNum = catUn;
System.out.println(catNum);
}
private void chooseCategory(){
//应打印所有6个类别,然后使用费用说明,
//提示并返回类别号。您需要使用扫描仪。
System.out.println(“为“+说明”选择一个类别);
对于(int i=0;i您没有在chooseCategory()
中返回值以设置为catNum
。请尝试以下操作:
private int chooseCategory() {
//should print all 6 of your categories, then, using the expense description,
//prompt and return the category number. You will need to use Scanner.
System.out.println("Choose a category <number> for " + description);
for(int i =0; i<categories.length; i++){
System.out.println(i + " : " + categories[i]);
}
Scanner userInput = new Scanner(System.in);
int catUn = userInput.nextInt();
return catUn;
}
private int-chooseCategory(){
//应打印所有6个类别,然后使用费用说明,
//提示并返回类别号。您需要使用扫描仪。
System.out.println(“为“+说明”选择一个类别);
老实说,我不知道你的教授要你做什么,我想这里没有人能告诉你。如果你想确定的话,去问问他
但是,让我建议一种改进代码的通用方法。您应该在这里使用返回值
实现您的类,以便:
public void setCatNum(int categoryNumber) {
catNum = categoryNumber;
}
private int chooseCategory() {
int userSelection = 0;
// Make user chose a category
// userSelection = ...
return userSelection;
}
以后可以像这样使用类(例如,在main()
方法中):
在这里,您创建一个新的YourClass
实例,并将其绑定到yourObject
变量。接下来,调用对象的方法(从内部到外部嵌套调用)。首先,执行chooseCategory()
。该方法保存一个本地userSelection
变量以存储用户的选择(使用Scanner
读取)。最后,该方法将返回用户选择。然后,返回值将传递给setCatNum()
,并在此处作为方法参数提供(称为categoryNumber
)。然后可以将categoryNumber
分配给catNum
成员变量
//编辑:现在您发布了您的UML:
public void setCatNum(int categoryNumber) {
catNum = categoryNumber;
}
private void chooseCategory() {
int userSelection = 0;
// Make user chose a category
// userSelection = ...
this.setCatNum(userSelection);
}
问你的教授你是否需要对你的家庭作业进行澄清。我能看到的唯一一件事是,它确实会在你打印出六个类别后提示。另外,chooseCategory()
avoid
?它们不返回值,但它们在setCatNum()中的值上下文中使用
。我想是的,但是你需要返回输入的值。我试着问我的教授……他们没有回答问题,当我继续问的时候,他们会有点不高兴。这就是为什么我来到这里希望有人能理解。chooseCategory应该是一个空白。但是谢谢你的回答!谢谢你的回答。但是我的教授wants chooseCategory()为空而不返回。这就是为什么我感到困惑的原因…非常感谢您的解释tho!您还回答了对象问题!如果不允许chooseCategory()返回任何值(=定义为void
),则无法分配catNum=chooseCategory()
).也许这就是你的老师想让你学习的课程?否则,再去问他,因为从技术上讲这是不可能的。只要再看一遍你的作业,你的方法就可以返回一个值:“…chooseCategory
应打印所有6个类别,然后使用费用说明提示并返回类别编号“我按你的方式编辑,效果很好。我会在我的代码中留下评论,说明我为什么这样做!非常感谢你的帮助和快速回复!!看看我的最新编辑,也许这正是你的教授想要的。:)
public void setCatNum(int categoryNumber) {
catNum = categoryNumber;
}
private void chooseCategory() {
int userSelection = 0;
// Make user chose a category
// userSelection = ...
this.setCatNum(userSelection);
}