在ArrayList中搜索一系列Integer值

时间:2014-03-06 03:35:48

标签: java arraylist

import java.util.Scanner;
import java.io.*;
import java.util.ArrayList;

public class Test
{
public static void main (String args[]) throws java.io.IOException
{
    Scanner s = new Scanner(new File("D:\\Work\\Semester 2\\Prog\\population.txt"));
    ArrayList<Integer> list = new ArrayList<Integer>();
    while (s.hasNext()){
        if(s.hasNextInt()){
            list.add(s.nextInt());
        } else {
            s.next();
        }
    }
    s.close();
    System.out.println("Enter a number.\n");
    Scanner scan = new Scanner(System.in);
    String input = scan.next();
    scan.close();
    int inputNum = Integer.parseInt(input);
    int number = 0;
    if(number==0){            
        String line = list;
        Scanner scanner = new Scanner(list);
        int lineNum = Integer.parseInt(line);
    }
    }
}

到目前为止,我已经设法从文件中检索整数并将它们插入到ArrayList中。现在我需要从用户那里获取输入,它需要显示大于或等于用户输入的数量的值(来自ArrayList)。正如你所看到的,我正在考虑如何扫描ArrayList但我现在已经失去了我需要做的事情,我们将非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

添加一个计数器,遍历列表,并在满足条件时递增计数器 - 类似这样(使用for each符号),

 int count = 0;
 for (Integer i : list) {
   if (i >= testValue) {
     count++;
   }
 }

答案 1 :(得分:0)

int counter=0;
for(Integer current: myArrayList){
  if(current>=targetNumber){
     System.out.print(current+" ");
     counter++;
  }
}

答案 2 :(得分:0)

试试这个,

        Collections.sort(list);  // because the list may contains unordered values
        int counter = 0;
        for(Integer value : list)
        {
            if(value >= enteredValue)
            {
                System.out.println(value);
                counter++;
            }
        }