2015-10-07 5 views
-6

Я не могу понять, что я сделал с моим кодом, чтобы создать бесконечный цикл. Я был бы очень признателен, если бы кто-то помог мне объяснить это.Что вызывает мой бесконечный цикл?

import java.util.Scanner; 

class LoopMath1 { 
    public static void main(String[] args) { 
     Scanner inputScanner; 
     inputScanner = new Scanner(System.in); 

     //gets a number from a user and parses the string as an int 
     System.out.println("Please give me a positive number"); 
     String userNum; 
     userNum = inputScanner.nextLine(); 
     System.out.println("Your number is " + userNum + "."); 
     int number = Integer.parseInt(userNum); 

     printX(number); //function call 

     //prints 2 to the x power 
     System.out.print("2^" + number + "="); 
     int j = 1; 
     int twoToThe = 2; 
     while (j < number) { 
      twoToThe *= 2; 
      j++; 
     } 
     System.out.print(twoToThe); 

     //determines if the user number is prime 
     int i = 0; 
     for (i = 1; 1 < number; i++) { 
      int nPrime = number; 
      if (nPrime == 0) { 
       System.out.println(number + " is not prime."); 
       break; 
      } else { 
       System.out.println(number + " is prime."); 
      } 

     } 
    } 

    //this is a function to print a certain amount of Xs, depending   on the user input 
    public static void printX(int nTimes) { 
     final int WIDTH = nTimes; 
     while (nTimes < WIDTH) { 
      System.out.print("x"); 
      nTimes += 1; 

     } 
    } 
} 
+2

Пометка этого с помощью java будет полезна –

+0

Также найдите «проблему с остановкой». Я думаю, что у Java есть решение в стандартном api –

+0

, в котором цикл isifinite .... вы проверили введенный пользователем номер? –

ответ

2

Заменить

for (i=1; 1 < number; i++) { 

по

for (i=1; i < number; i++) { 

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

3

for (i=1; 1 < number; i++) Опечатка. 1 должен быть i как в for (i=1; i < number; i++)

+2

nTimes

+0

Согласовано это также проблема с программой. –

+0

Если вы считаете, что это опечатка, проголосовать за закрытие как таковое. –

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