使用Math.random()在Java中显示百分比数

时间:2015-08-20 00:22:35

标签: java random percentage

目前编写简单程序。我希望在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.
  }
}

2 个答案:

答案 0 :(得分:0)

您应该使用int数组来存储每个商店收到的选择数。 public static void main(String [] args){   int [] storeVisits = new int [4];   for(int i = 1; i&lt; = 52; i ++){     int randomSelection = 1 +(int)(Math.random()* 4);     storeVisits [randomSelection - 1] ++; //使用了randomSelection -1,因为数组从0开始     System.out.println(i +&#34;周&#34; +&#34;商店编号&#34; + randomSelection +&#34;将被检查&#34;);   }   for(int i = 0; i&lt; storeVisits.length; i ++){     System.out.println(&#34;在52周的商店编号&#34; +(i + 1)+&#34;访问了&#34;         +((storeVisits [i] * 100)/ 52)+&#34;%&#34;);   } } 哪些输出(每次都会改变): 1周将检查商店4号 2周将检查商店3号 3周将检查3号店 4周将检查商店2号 5周将检查商店3号 6周将检查商店3号 7周将检查商店3号 8周将检查2号店 9周商店2号将被检查 10周商店1号将被检查 11周将检查3号店 12周将检查4号店 13周将检查4号店铺 14周将检查4号店 15周商店编号1将被检查 16周将检查2号店 17周将检查商店3号 18周商店4号将被检查 19周将检查4号店 20周商店3号将被检查 21周将检查商店4号 22周商店1号将被检查 23周商店2号将被检查 24周商店1号将被检查 25周将检查4号店 26周将检查4号店 27周商店2号将被检查 28周商店2号将被检查 29周商店2号将被检查 30周商店1号将被检查 31周商店编号1将被检查 32周商店4号将被检查 33周将检查4号店 34周将检查4号店 35周商店1号将被检查 36周商店3号将被检查 37周商店编号1将被检查 38周商店2号将被检查 39周商店编号1将被检查 40周商店4号将被检查 41周商店1号将被检查 42周商店4号将被检查 43周将检查商店1号 44周商店2号将被检查 45周商店1号将被检查 46周商店1号将被检查 47周将检查商店1号 48周将检查商店3号 49周商店4号将被检查 50周将检查4号店 51周将检查商店4号 52周将检查4号店 在52周内,1号店被访问了26% 在52周内,2号店被访问了19% 在52周内,3号店被访问了19% 在52周内,4号店被访问了34% 希望这可以帮助。

答案 1 :(得分:0)

公共类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");
    }

}

}