循环,随机数生成器,然后检查

时间:2014-10-20 19:36:37

标签: java

试图进一步理解循环,我在网上发现了一些我试图完成的问题,但是我被困在第二个问题上。

最初的问题是:

loop4(int val)。此方法使用循环(for或while?)执行以下操作。生成1到10之间的随机数(包括1和10)10次,并计算生成val的次数,然后打印出该数字。

到目前为止我设法做到了:

public int Loop4(int val){
    for(int i = Math.random()*10; i<= 10; val!=0){
        if (i == val) {
            System.out.println(//I cannot for the life of me think of how I could constantly increment a +1 to this value because I only want to end up with 1 number in the end)
        }
    }
}

4 个答案:

答案 0 :(得分:1)

这段代码可以解决问题:)

public int Loop4(int val){

        int totalCount = 0;
        for(int i = 0; i<= 10; i++){
           int generatedNumber = (int)(Math.random()*10);
           if (generatedNumber  == val){
             totalCount++;
           }
         }

         System.out.print(totalCount  );

}

答案 1 :(得分:1)

只需创建一个计数值并递增它。

public int Loop4(int val){
   int count = 0;
   for(int i = 0; i< 10; i++){
     if ((int)(Math.random()*10) == val) {
        count++;
     }
   }
   System.out.println(count);
   return count;
}

答案 2 :(得分:0)

您可能想尝试这样的事情。根据您的问题,您只想循环10次并计算生成val的次数。您应该创建一个总变量,并在每次新的随机数== val。

时递增

例如:

public int Loop4(int val){
    int total = 0;
    for(int i = 0; i <= 10; i++){
        if ((int)(Math.random()*10) == val) {
            total++;
        }
    }
    return total;
}

答案 3 :(得分:0)

您需要考虑代码中的一些内容。

首先,Math.random()会返回double,而不是int,所以你必须投出它:(int) Math.random()(但是这会导致一些舍入问题,所以请做一些关于那个的研究。

其次,for循环中的第三个参数需要是迭代,而不是比较。 例如:i++++i--i

第三,创建另一个变量int count = 0,该变量将计算出数字的次数,并将count++置于内部if语句中,然后生成System.out在迭代后打印它。

相关问题