【问题标题】:Advice with for loop programsfor循环程序的建议
【发布时间】:2013-07-23 06:53:39
【问题描述】:

我了解了 for 循环的一般要点。我想知道如何将两个变量添加到初始化程序。我也想同时计算计数器和随机数。我希望它随机打印,但不打印 30 个相同的数字

public class forLoop {
  public static void main(String[] args) {
    int random = (int) (Math.random() *50) +25;
    for(int counter = 0; counter < 30; counter++){
      System.out.println(random);
    }
  }
}

【问题讨论】:

  • 与其问这个问题,不如问自己:“我的程序是做什么的?”它生成一个伪随机数并打印 30 次。如何让它打印一个随机数30次?生成数字并打印出来,重复整个过程 30 次。
  • 你也应该看看这个:stackoverflow.com/questions/738629/…

标签: java for-loop random


【解决方案1】:

您正在循环之外生成随机数。因此,它每次都会以相同的数字存在。解决方案是将定义移到循环内部。

public static void main(String[] args) {
    for(int counter = 0; counter < 30; counter++){
        int random = (int) (Math.random() *50) +25;
        System.out.println(random);
    }
}

这样,每次循环(30 次迭代),您的代码将 (1) 生成一些随机数并 (2) 打印该数字。

【讨论】:

  • 所以我不需要添加随机变量?
  • 添加它是什么意思,@Bill ?
  • 现在和这个没什么关系,但是为了将来我可以在for循环中使用两个变量吗?
  • 我的意思是不要将它添加到 for 循环中
  • "我可以在 for 循环中使用两个变量吗?"绝对没错。循环体和其他代码块一样是代码块。您可以在 Java 中执行的所有操作,都可以在循环内部执行(包括启动另一个循环、定义变量等)。请注意,您在循环内部定义的变量超出范围,这意味着它们会在循环完成后消失及其所有迭代。
【解决方案2】:

random 在循环开始之前被设置为 特定 随机整数。您没有将random 定义为(int) (Math.random() *50) +25,而是您正在执行它并将random 设置为结果。

然后循环每次都打印出相同的内容。如果您每次都想要一个新的random,那么您需要将该语句移动到循环中。

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2014-10-09
    • 1970-01-01
    相关资源
    最近更新 更多