Java费用类

时间:2015-09-09 15:23:59

标签: java object

我有一个问题......我的教授一直在跳舞。

" 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);

}

description是顶部的私有字符串。

UML

费用

(+)Expense(catNum:int,desc:String,date:SimpleDateFormat,amt:double,repeat:boolean)

(+)Expense(desc:String,date:SimpleDateFormat,amt:double,repeat:boolean)

( - )chooseCategory():void

***我把 - 和+放在括号中,因为代码块认为它需要是一个子弹。

2 个答案:

答案 0 :(得分:1)

说实话,我不知道你的教授想要你做什么,我想这里没有人能说出来。如果你想肯定的话,去问问他。

但是,让我建议一种改进代码的一般方法。你应该在这里使用返回值。

实施您的课程:

select
   count(*)
   /*,count(a.business_column)*/

from table_a a
inner join each table_b b
   on b.key_column = a.business_column

稍后你可以使用这样的类(例如在你的public void setCatNum(int categoryNumber) { catNum = categoryNumber; } private int chooseCategory() { int userSelection = 0; // Make user chose a category // userSelection = ... return userSelection; } 方法中):

main()

在此创建YourClass yourObject = new YourClass(); yourObject.setCatNum(this.chooseCategory()); 的新实例,并将 bind 创建为YourClass变量。接下来,调用对象的方法(从内到外的嵌套调用)。首先,执行yourObject。该方法包含一个本地chooseCategory()变量来存储用户的选择(使用userSelection读取)。最后,该方法将返回用户选择。然后将返回值传递给Scanner,并在此处作为方法参数(称为setCatNum())。然后,您可以将categoryNumber分配给categoryNumber成员变量。

//编辑:现在你发布了你的UML:

catNum

答案 1 :(得分:0)

您没有在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;
}