有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

web应用中的java随机反馈

我们显示应用程序的反馈,但我们只想显示10%的用户。 例如:如果用户总数为1000,则反馈应仅显示给100个用户

有什么想法和逻辑来实现它吗

提前谢谢


共 (6) 个答案

  1. # 1 楼答案

    如果你真的,真的需要它精确到10%,而不是大约10%,你可以保留一个静态的计数器变量,每次新的会话开始时你都会增加它。当它达到10时,请用户反馈并将计数器重置为1

    然而,您可能需要同步对变量的访问,以防止不同线程上的请求同时对其进行操作,如果您正在处理大量请求,这可能会成为性能瓶颈

    除非你有充分的理由,否则使用其他人建议的随机数方法可能会容易得多

  2. # 2 楼答案

    此代码生成一个从0到9的随机数,如果随机数为0(10%的几率),则可以添加反馈代码

    var randomnumber=Math.floor(Math.random()*10)
    if (randomnumber == 0)
    {  
       // do something
    }
    
  3. # 3 楼答案

    在您的数据库中,您可以进行如下查询:

    SELECT TOP X PERCENT select list
    FROM TableName
    

    通过这种方式,您只能从数据库中获取10%的记录,并将其显示在反馈模块上

    希望这就是你想要的

  4. # 4 楼答案

    我以前发现一种有用的模式是在会话开始时“标记”一些用户(根据所需的分发随机)。然后详细记录标签用户对应用程序所做的一切。他们给出的任何反馈都可以放在上下文中。至于机制,我会使用一个过滤器进行初始会话标记,然后在屏幕顶部为标记的用户显示一个不显眼的栏,提示他们(很好地)给出反馈。确保吧台上有一个关闭按钮

  5. # 5 楼答案

    尝试使用random方法:

    if(Math.random()<0.1) {
        // show feedback
    }
    
  6. # 6 楼答案

    我认为你需要仔细考虑这一点——接下来,你可能希望你做的不仅仅是“随机显示10%”

    如果您正在讨论一个使用经过身份验证的用户的应用程序,并且如果可能需要分析/理解这10%的响应,那么您应该执行以下操作:

    1. 在数据库中创建一个新的列或表,为每个用户分配输入(true)或输出(false)以显示反馈
    2. 将其作为查询的基础,以确定向谁显示消息
    3. 确保反馈请求的结果写回数据库