计算数组中元素的数量?

时间:2014-12-01 15:17:23

标签: java arrays

因此,对于我班级的作业,我们有一个实验室,我们必须编写代码来完成三件事:

  1. 从0-9生成50个随机数的数组。
  2. 返回数组中出现的8个。
  3. 返回数组中的运行次数。
  4. 我们获得了一个.java文件,开头就是这样:

    package ArrayOfInts;
    public class ArrayOfInts {
      private int [] intArray;
      private int eights;
      private int runs;
    
      //Sets intArray to the parameter and initializes all other variables
      public ArrayOfInts(int [] x){
    
    
      }
    
      //Returns how many 8's are in the array.
      public int findTheEights(){
    
        return eights;
      }
    
      //Returns the number of runs in the array.
      public int countTheRuns(){      
    
    
    
    
        return runs;
      }
    }
    

    到目前为止,我写的代码是:

    package ArrayOfInts;
    public class ArrayOfIntsTester {
      public static void main(String [] args){
        int [] testArray = new int [50];
        for(int i = 0; i < testArray.length; i++){
          int x = (int)(Math.random()*9);
          testArray[i]= x;
          System.out.print(x + ", ");
        }
        System.out.println();
        ArrayOfInts test = new ArrayOfInts(testArray);
        System.out.println(test.findTheEights());
        System.out.println(test.countTheRuns());
    
      }
    }
    

    老实说,我不知道从哪里开始。救命??我编写的代码会生成正确的数组类型,但我不知道如何计算我需要计算的内容。

6 个答案:

答案 0 :(得分:0)

//To count number of eights, iterate through array with a counter and increment it when we see an 8
public ArrayOfInts(int [] x){
eights = 0; //reset our count
    for (int currentInt : intArray)
    {
        if (currentInt == 8)
            eights++;
    }
//Process runs here
}

答案 1 :(得分:0)

对于八个:迭代数组并在每次找到八个时执行eights++

if (testArray[i] == 8){
    eights++
}

答案 2 :(得分:0)

要计算8的数量,只需使用另一个初始化为0的变量,如下所示: -

int c=0;
for (i=0;i<testArray.length;i++)
{
 if (testArray[i] == 8)
  {
   c++;
  }
}

现在你的c在数组中有8个数字,你不能打印它的值。

- &GT;如果那是你要问的问题

答案 3 :(得分:0)

这里有一些伪代码可以帮助你计算八个:

numberOfEights = 0;
for each element in testArray{
    if (element equals 8) {
        numberOfEights  = nnumberOfEight + 1
    } else {
        nothing to do
    }
}
return numberOfEights

尝试将其转换为java代码。

对于另一部分,我不明白你的runs是什么。

答案 4 :(得分:0)

首先在constructor

中初始化数组
  public ArrayOfInts(int [] x){
      intArray=x;
  }

将8个初始化为0

 private int eights=0;

然后更新你的计数方法

  public int findTheEights(){      
    for(int current:intArray)
    {
       if(current==8){ eights++;}
    }
    return eights;
  }

答案 5 :(得分:0)

在JavaScript中,你可以像下面的例子那样做。

可以在阵列初始化时直接完成8个计数。

如果我理解你的话,你想用countTheRuns()来计算对象的实例。这可以通过类变量来完成。

如果您想使用代码,可以在jsFiddle找到它。

&#13;
&#13;
/*So for an assignment in my class, we have a lab where we have to write code that will do three things:

    generate an array of 50 random numbers from 0-9.
    Return how many 8's appear in the array.
    Return the number of runs in the array.
*/
(function() {
    
    var MAX_RANDOM = 50;
    var NUM_RANGE = 9; // 0 to 9
    
    function ArrayOfInts() {
        this.eights = 0;
        this.numbers = [];
        this.init();
        // class variabe run_counter
        ArrayOfInts.run_counter = (ArrayOfInts.run_counter || 0) +1;
        
        this.getNumbers = function() {
            return this.numbers;
        };
        
        this.getEights = function() {
            return this.eights;
        };
    }

    ArrayOfInts.prototype.init = function() {
        for (var i=0; i< MAX_RANDOM; i++) {
            var randNum = Math.floor(Math.random()*(NUM_RANGE+1));
            this.numbers.push(randNum);
            if (randNum == 8) this.eights++;
        }
    };
    
    // demo usage code ---------------------
    var array = new ArrayOfInts();
    var array2 = new ArrayOfInts();
    
    document.getElementById('output').innerHTML = array.getNumbers();
    console.log(array.getNumbers());
    document.getElementById('output').innerHTML += '<br/>The array has the following no. of eights: ' + array.getEights(); 
    
    document.getElementById('output').innerHTML += '<br/>The number generation ran ' + ArrayOfInts.run_counter + ' times.';
    
})();
&#13;
<div id="output"></div>
&#13;
&#13;
&#13;