【问题标题】:Not sure how to implement this interface不知道如何实现这个接口
【发布时间】:2018-04-01 01:02:28
【问题描述】:

所以我对如何以正确的方式实现这个接口有点困惑:

MasterMind 电脑玩家必须至少返回一个有效的猜测:

public interface MasterMindAI
{
   public Guess nextGuess();
}

MasterMindAIRandom 实现接口的最简单方法是填充列表 具有四个从 1 到 7 的随机整数的颜色 ID,并返回 相关猜测。这实际上是一个有用的类,因为它允许您 查找与将 AI 整合到 MasterMind 游戏相关的错误 而不是 AI 本身的错误。

所以我了解有关列表的所有内容以及如何填充它。我只是对如何以正确的方式实现接口感到困惑。所以我的 MasterMindAIRandom 类必须有一个名为 Guess nextGuess 的方法,它可以创建一个随机数列表,是吗?但是返回类型是 Guess 类型,而 List 是一个整数列表。我究竟应该如何归还 Guess?

【问题讨论】:

  • "从 1 到 7 的四个随机整数并返回相关的 Guess。"因此,您将生成数字,并且每个数字都与 Guess 相关联(如 ID)
  • Guess 是如何定义的?它需要 4 个整数还是整数列表,它应该包含 4 个整数?猜猜不在标准库中 - 我们应该猜猜它是什么?

标签: java design-patterns interface


【解决方案1】:

根据你的描述,我们只能猜测:):

import java.util.Random; 

public class MasterMindAIRandom implements MasterMindAI
{
   public Guess nextGuess();
   {
       Random r = new Random ();
       List <Integer> li = new ArrayList <> ();
       for (int i = 0; i < 4; ++i)
       {
           li.add (r.nextInt (7) + 1); 
       }
       return new Guess (li);
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2015-06-19
    相关资源
    最近更新 更多