2014-11-26 2 views
-1

Я сделал цикл for, и я хочу, чтобы цикл прерывался, когда пользователь вводит отрицательное значение, а затем дает сообщение. Я не хочу, чтобы программа вычисляла отрицательное значение.для условия цикла и если statment

public class test1 
{ 
    public static void main(String[] args) 
    { 
     PrintStream output = new PrintStream(System.out); 
     Scanner input = new Scanner(System.in); 
     List<Integer> yolo = new ArrayList<Integer>(); 
     double sum = 0; 
     output.println("Enter your integers\n" + "(Negative=sentinel)"); 

     // add the values to your empty Array except the negative entries 
     for (int entry = input.nextInt(); entry < 0 ; entry = input.nextInt()) 
     { 
      yolo.add(entry); 
      if (entry >= 0) 
      { 
       sum += entry; 
      } 
      else { 
       output.println("Your list is empty"); 
      } 
     } 

Я пробовал использовать Outerloop :, и нарушать наружную оболочку; но он прерывает цикл даже при положительных целых числах.

ответ

3

изменить его

for (int entry = input.nextInt(); entry >= 0; entry = input.nextInt()) 

, потому что в настоящее время цикл только работает, когда введенный номер < 0.

Таким образом, цикл имеет семантическое (смысл):

run while the entries are >= 0, read every time from the input to entry 

Таким образом, цикл заканчивается, когда пользователь вводит отрицательное число.

+0

Хороший вопрос;) исправлено это –

+0

петля работала, но когда я ввожу отрицательное значение, он не дает массаж, который мне нужен ~. ~ –

+0

вы можете просто добавить system.out.println после цикла. –

-1
// add the values to your empty Array except the negative entries 

Похоже, что вы также упускаете небольшую вещь. То, что вы хотите сделать, это:

if (entry >= 0){ 
    yolo.add(entry); 
    sum += entry; 
} 

Для вашей проблемы, я думаю, что ваш для петли, указываемое неправильно, потому что каждый раз, когда вы звоните input.nextInt() запросит новый вход, а вы может поставить отрицательные значения во второй раз, что бы ни случилось.

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