使用for循环计算数组中索引的数量

时间:2011-04-18 21:08:15

标签: java

所以我有一个0-4的数组,它有5个随机整数值(即10,20,25,15,50)。程序要求用户输入一个整数,让用户输入17.程序将检查并使用我所拥有的数组中的5个值并打印出大于用户输入的数字,在这种情况下为17 (我使用for循环来做到这一点)。我还想打印出大于用户输入的数字的数量,在这种情况下为2(数字大于17)。我该怎么做呢?我是否在第一个for循环中写了一个for循环?

int[] myArrays = new int[10,20,25,15,50];

int numEntered;

for (i = 0; i < myArrays.length; i++)
{
    if (myArrays[i] > numEntered)
        System.out.println(myArrays[i]);
}

现在我如何获得大于用户输入的总数?

4 个答案:

答案 0 :(得分:2)

只需要一个正在运行的总计数器。

int counter = 0;

然后,只要您找到的数字大于用户输入的数字,请使用counter++;递增计数器。然后在你的for循环后打印出计数器的值。

这应该足以让你解决家庭作业,而不会泄露太多。

答案 1 :(得分:0)

你走在正确的轨道上;基本上,问题归结为这些项目:

  1. 循环播放阵列
  2. 记录大于指定值的项目
  3. 汇总遇到的所有项目大于指定值。
  4. 您可以通过阵列的单个循环完成所有操作。

答案 2 :(得分:0)

是否需要第二个for循环?为什么?我会这样做..

  //Take in the number to test.
 public void islarger(int num){
   int counter = 0;
   int numbers[] = new int[5];
   //loop through array
   for(int x=0; x < array.length; ++x){
       if(array[x] > num){
          //If it meets the condition add it to the new array
          numbers[y] = array[x];
          ++y;
       }
   }
   //print our results.
   System.out.println("There are " + counter " numbers larger than " + num + \n "They are...");
   Arrays.toString(numbers);
 }

答案 3 :(得分:0)

为什么不是每次找到大于用户输入的值时都会增加一个整数?

int count=0;
for(int i=0; i<4; i++) {
    if(myArrays[i] > numEntered) {
        count++;
        System.out.println(myArrays[i]);
    }
}
System.out.println("found " + count + " values greater than " + numEntered);