2014-03-06 57 views
1
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,但是我目前失去了我需要做的事情,任何帮助都将不胜感激。在ArrayList中搜索Integer值的范围

+0

你读过javadocs或任何教程来处理列表? – Sanjeev

+1

你想获得特定的价值或任何其他? – newuser

+0

@Sanjeev我已经找到了我能想到的与此有关的事情,但我没有任何运气。有没有机会让我走向正确的方向? – user3386295

回答

1

添加计数器,遍历目录,如果你的条件满足时,计数器增加 - 这样的事情(使用每个符号),

​​
0
int counter=0; 
for(Integer current: myArrayList){ 
    if(current>=targetNumber){ 
    System.out.print(current+" "); 
    counter++; 
    } 
} 
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++; 
      } 
     }