【问题标题】:Randomizing Strings associated with an Integer in a Map?随机化与地图中的整数关联的字符串?
【发布时间】:2014-05-20 03:20:56
【问题描述】:

我希望能够使用randomizeName(int group) 方法在地图中随机返回一个人的姓名;我希望它随机化名为 people 的地图中的字符串。
以下是人们的样子:

public Map<Integer, String> people = new HashMap<Integer, String>();

人分为三组,1、2、3。
这个 HashMap 中有九个字符串,每一个都关联一个组:
Greg, George, Fred, Marie, Ann, Julie, Alfred, Bob, and Julian.
例如,如何仅在第一组中返回随机字符串。

因此,与其随机化整个地图中的字符串,我如何让它只随机化第一组(Greg, George and Fred) 中的人?

方法如下:

public String randomizeName(int group){
//Enter Code Here
}

【问题讨论】:

  • 发帖前不需要自己努力解决问题。另外,你的问题很不清楚。你想看到什么输出?
  • 您如何跟踪人们所在的群组?你明白people.put(1, "Greg"); people.put(1, "George"); 不会存储两个条目吗?
  • 是的,您能否发布一下您的哈希映射的键是什么?这个整数对应什么?
  • 也许不同的设计会更好:一个类是一个组并且包含所有成员的列表,并且在另一个包含所有组的列表之外。怎么样?
  • 地图中的名称不是随机的。 “随机”字符串是什么意思?

标签: java string random map integer


【解决方案1】:

我将帮助您了解以下详细信息...

首先我认为你需要创建一个合适的哈希映射,你的映射只能包含每个组 id 的单个人

为您完成的任务:更改地图,使每个键(组 id 1、2 或 3)可以包含更多的成员名称

其次,您可以在一个范围内使用随机数生成,并使用它来决定您要发送的名称参考How can I generate random number in specific range

给你的任务:编码这样一种方式,对于不同的随机数,你可以发送不同的用户名

【讨论】:

    【解决方案2】:

    你想要的意思

    public String randomizeName(int group){
    //Enter Code Here
    } 
    

    应该返回第一组的任何字符串,即(Greg、George 和 Fred)。正确的? 如果是,那么您可以使用数学库并使用返回双变量的随机函数。 0=1 即 value 可以是 0 或更大,1 或更少。所以你可以创造条件。如果 math.random 为 0,则为 Greg,如果 math.random 为 1,则为 George,如果 (0math.random) 为 Fred。你也可以参考这个链接http://www.tutorialspoint.com/java/lang/math_random.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-07
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 2016-04-28
      • 2018-05-29
      • 2016-01-04
      • 2014-11-27
      相关资源
      最近更新 更多