正在编写简单的程序。我想显示在52周内每次访问商店的百分比。例如,"在52周内,1号店的检验率为20%"。下面是到目前为止的代码:
public class StoreSelection {
public static void main(String[] args) {
for( int i=1; i<=52;i++){
int randomSelection = 1+(int)(Math.random()*4);
System.out.println(i+" week"+" Store number "+randomSelection+" will be inspected");
}
// here should be stated "In 52 weeks store number 1 was visited (number of percentage)
// and then below "In 52 weeks store number 2 was visited (number of percentage)
//and same for number 3 and 4.
}
}
您应该使用int数组来存储每个存储接收到的选择数。
public static void main(String[] args) {
int[] storeVisits = new int[4];
for (int i = 1; i <= 52; i++) {
int randomSelection = 1 + (int) (Math.random() * 4);
storeVisits[randomSelection - 1]++; // randomSelection -1 is used because arrays start at 0
System.out.println(i + " week" + " Store number " + randomSelection + " will be inspected");
}
for (int i = 0; i < storeVisits.length; i++) {
System.out.println("In 52 weeks store number " + (i + 1) + " was visited "
+ ((storeVisits[i] * 100) / 52) + "%");
}
}
输出(每次都会改变):
1 week Store number 4 will be inspected
2 week Store number 3 will be inspected
3 week Store number 3 will be inspected
4 week Store number 2 will be inspected
5 week Store number 3 will be inspected
6 week Store number 3 will be inspected
7 week Store number 3 will be inspected
8 week Store number 2 will be inspected
9 week Store number 2 will be inspected
10 week Store number 1 will be inspected
11 week Store number 3 will be inspected
12 week Store number 4 will be inspected
13 week Store number 4 will be inspected
14 week Store number 4 will be inspected
15 week Store number 1 will be inspected
16 week Store number 2 will be inspected
17 week Store number 3 will be inspected
18 week Store number 4 will be inspected
19 week Store number 4 will be inspected
20 week Store number 3 will be inspected
21 week Store number 4 will be inspected
22 week Store number 1 will be inspected
23 week Store number 2 will be inspected
24 week Store number 1 will be inspected
25 week Store number 4 will be inspected
26 week Store number 4 will be inspected
27 week Store number 2 will be inspected
28 week Store number 2 will be inspected
29 week Store number 2 will be inspected
30 week Store number 1 will be inspected
31 week Store number 1 will be inspected
32 week Store number 4 will be inspected
33 week Store number 4 will be inspected
34 week Store number 4 will be inspected
35 week Store number 1 will be inspected
36 week Store number 3 will be inspected
37 week Store number 1 will be inspected
38 week Store number 2 will be inspected
39 week Store number 1 will be inspected
40 week Store number 4 will be inspected
41 week Store number 1 will be inspected
42 week Store number 4 will be inspected
43 week Store number 1 will be inspected
44 week Store number 2 will be inspected
45 week Store number 1 will be inspected
46 week Store number 1 will be inspected
47 week Store number 1 will be inspected
48 week Store number 3 will be inspected
49 week Store number 4 will be inspected
50 week Store number 4 will be inspected
51 week Store number 4 will be inspected
52 week Store number 4 will be inspected
In 52 weeks store number 1 was visited 26%
In 52 weeks store number 2 was visited 19%
In 52 weeks store number 3 was visited 19%
In 52 weeks store number 4 was visited 34%
公共类StoreSelection {
public static void main(String[] args) {
int weeks = 52;
int storeCount = 4;
int[] stores = new int[storeCount];
for (int i = 0; i < weeks; i++) {
int randomSelection = 1 + (int) (Math.random() * storeCount);
System.out.println((i+1) + " week: " + " Store number " + randomSelection
+ " will be inspected");
stores[randomSelection-1]++;
}
for (int i = 0; i < storeCount; i++) {
System.out.println("Store " + (i+1) + " was visited "
+ (stores[i] / 52.0 * 100.0) + "% times");
}
}
}