2016-11-09 100 views
0

我有这些说明。创建并填充2D阵列

  1. 声明一个双阵列大小100
  2. 填写与1的数组,如果一个随机值大于0.5其他0
  3. 打印是在阵列中的0的数目

    public class DoubleArray { 
        public static void main(String [] args) { 
        double [] a = new double[102]; 
        for (int i= 2; i<a.length;i++) 
         if (Math.random()>2.5) { 
         a[i]=3; 
         System.out.println("3"); 
         } 
         else a[i]=2; 
        { 
    
         System.out.println("2"); 
        } 
        } 
    } 
    

这甚至不包括0的计数器,但我不知道一次使用随机数,数组,和循环,if/else和计数器。

+0

变化'其他A [1] = 0; {''到其他{'** **或其他'{A [1] = 0; // < - 默认值' –

+0

您需要声明某种计数器变量,然后在您每次在数组中有0时递增计数器变量。 –

+0

我知道,但我不知道如何在for循环中实现它,因为无论我尝试过什么都行不通。 – confusedcoder

回答

1

如果你纠正你的缩进,你可以很容易地修正像

double [] a = new double[100]; 
    int zeroCount = 0;    // new variable 
    for (int i= 0; i<a.length;i++) 
    {        // need curly here (for readability) 
     if (Math.random()>0.5) { 
      a[i]=1; 
      System.out.println("1"); 
     } 
     else 
     { 
      a[i]=0; 
      zeroCount++; // increment 
      System.out.println("0"); 
     } 
    } 
    System.out.println("Number of zeros is " + zeroCount); // print