簡體   English   中英

是什么導致了我的無限循環?

[英]What is causing my infinite loop?

我似乎無法弄清楚我的代碼做錯了什么來創建無限循環。 如果有人能幫助我解釋這一點,我將不勝感激。

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;

        }
    }
} 

for (i=1; 1 < number; i++)有一個錯字。 1應該是i就像for (i=1; i < number; i++)

代替

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

經過

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

在 for 循環的第一部分初始化的增量器必須最好在第二部分進行測試,並在第三部分進行增量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM