试图进一步理解循环,我在网上发现了一些我试图完成的问题,但是我被困在第二个问题上。
最初的问题是:
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)
}
}
}
答案 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
在迭代后打印它。