首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择决策者(来自ArrayList的随机字符串)

选择决策者(来自ArrayList的随机字符串)
EN

Code Review用户
提问于 2017-10-09 17:54:51
回答 1查看 130关注 0票数 0

我正在学习CS类中的继承和多态性,并认为找到一些我可以应用的东西是个好主意。我有很多想法,有时候有些事情我想做,有些事情我不想做。为什么不让Java来做决定呢?

我正在寻找反馈,以使我的代码更好:无论是我可以做的可读性或继承,甚至数据结构明智。或者说,如果有bug,也很高兴知道:)

有多个类扩展了MakeChoice,我只是没有把它们放在这里。

代码语言:javascript
复制
import java.util.*;

public class MakeChoice {

    // main
    public static void main(String[] args) {
        makeChoice makerShareChoice = new makeChoiceMakerShare();
        System.out.println(makerShareChoice);
    }

    public static int getChoiceForArrayList(int size) {
        int choice = generateRandomIntRange(0, size - 1);
        return choice;
    }

    public static int generateRandomIntRange(int min, int max) {
        int range = (max - min) + 1;
        int random = (int) (Math.random() * range + min);
        return random;
    }

}

import java.util.*;

public class MakeChoiceMakerShare extends makeChoice {
    private static ArrayList<String> choices = new ArrayList<String>();

    public makeChoiceMakerShare() {
        super();
        choices.add("acrylic LED");
        choices.add("MESA EduPi");
        choices.add("Collage of whiteboard wall");
        choices.add("sponge mitts");
        choices.add("hooks in closet");
        choices.add("10 x 10 LED Matrix");
        choices.add("What should I make? CoMotion addition to matrix");
        choices.add("What should I do this week? Screen");
        choices.add("Lasercraft belt + UW belt buckle + Wallet");
    }

    public String toString() {
        return "Your choice for this week in " + this.getClass() + " is: " + choices.get(getChoiceForArrayList(choices.size()));
    }
}
EN

回答 1

Code Review用户

发布于 2017-10-09 18:07:30

首先,我不知道为什么首先需要继承,而不是将选择数组传递到init函数中。我想只是为了继承遗产?

-如果这是您计划在大多数子类中使用的功能,我会将您的toString函数移到基类中。我还会重命名这个函数,以避免常见的关键字,并且更具描述性--类似printResult这样的东西可能更有意义,除非您的意图是重载内置的toString函数。

票数 1
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/177542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档