2014-05-01 4 views
-4

В принципе, я хочу знать, как применить условие if к каждому элементу массива. Вот мой код.Как применить условие оператора if к каждому элементу на arraylist?

System.out.println("Type positive integers less than 40: "); 

    ArrayList<Integer> inRay = new ArrayList<Integer>(); 
    Scanner sc = new Scanner(System.in); 
    while (sc.hasNext()) 
    { 
     inRay.add(sc.nextInt()); 
    } 

    //this is where the problem starts// 

    int i; 
    if (inRay.get(i) > 40) 
    { 
     System.out.println("You had one job."); 
     System.exit(0); 
    } 

Я хотел бы применить условие if, если значение в списке массивов превышает 40, оно завершается.

+0

Казалось бы, вы никогда не слышали о цикле 'for'. –

+0

... или любой другой цикл. Возможно, начните [здесь] (http://www.tutorialspoint.com/java/java_loop_control.htm). – Pshemo

+1

Вы хотите применить проверку if, когда она введена или после ввода всего ввода? –

ответ

0

Замените строку, в которой вы объявляете 'i', с циклом for, который начинается с 0 и переходит к iRay.size().

for(int i=0; i<iRay.size(); i++) 

В этом цикл, часть перед первой точкой с запятой, объявить и инициализировать переменный счетчик на 0. После первой запятой является условием, до которой цикл должен повторяться, и после того, вторая точка с запятой, является приращением счетчика.

0

Вам нужно перебрать ArrayList, как это:

for (int i : inRay) 
    if (i > 40) { 
     System.out.println("You had one job."); 
     System.exit(0); 
    } 

В общем, если вы хотите сделать что-то для каждого элемента списка массива, выполните следующие действия:

for (Type t : list) { 
    // do something involving t 
} 

Вам нужно фактический тип элементов списка массивов вместо Type.

Смежные вопросы