2015-03-31 2 views
1

У меня возникли проблемы с переключением на постоянный цикл до тех пор, пока пользователь не остановит программу. Когда пользователь приглашение положить в N к петле, то они должны быть отправлены обратно в верхней части переключателяWhile Loop with Statement Statement

 char stop; 
    while(stop == 'N'){ 
     switch(choice){ 
      case 1: 
       System.out.println("Enter the time in seconds:"); 
       time = input.nextInt(); 
       displacement = (Math.pow(time,4)) + 16; 
       System.out.println("Felix's displacement is equal to " + displacement + " meters"); 
       System.out.println("Stop the application(Y/N)"); 
       stop = input.findWithinHorizon(".",0).charAt(0); 
       break; 
      case 2: 
       System.out.println("Enter the time in seconds:"); 
       time = input.nextInt(); 
       velocity = 4*(Math.pow(time,3)); 
       System.out.println("Felix's velocity is equal to " + velocity + " m/s"); 
       break; 
      case 3: 
       System.out.println("Enter the time in seconds:"); 
       time = input.nextInt(); 
       acceleration = 12*(Math.pow(time,2)); 
       System.out.println("Felix's acceleration is equal to " + acceleration + " m/(s*s)"); 
       break; 
      default: 
       System.out.println("Please select a choice"); 

     }    
    } 
} 
+1

Какова ценность остановки при вводе цикла? Его не установлено, поэтому он не войдет в цикл. На что отправляется выбор? Вы не обновляете выбор в своей петле вообще. – StackFlowed

+0

@StackFlowed: Ну, более того - он не будет компилироваться ... он определенно не назначен. –

+0

В дополнение к тому, что используется внутри цикла 'switch', если' choice' никогда не менялся, он будет выполнять тот же случай снова и снова – silentprogrammer

ответ

0
  1. Грубо: инициализируетstop по декларации:

char stop = 'N';

  1. Лучше: замените while наwhile петля:

    сделать {

    } в то время как (остановка == 'N')

0

"стоп" относится к пустому пространству в памяти, когда вы обратитесь к нему на первом ходу через ваш цикл while, поэтому он никогда не запустится. Вам нужно будет инициализировать его или перестроить структуру цикла. Кроме того, кажется, что вам нужно запросить пользователя для «выбора», если только эта часть кода не была удалена.