java - 多种方法和无限循环发生的问题

标签 java infinite-loop

我正在编写一个程序,除了main之外还需要5个方法,每个方法都执行特定的操作,main调用所有其他方法,向用户输出关于不正确输入的警告,第二个方法只是拉出用户想要处理多少个变量的主输入,第三个方法检查以确保用户的输入为非负数,并稍后检查所有用户输入以确保它也是非负数,第四个方法测试用户输入的数字,最后一个方法打印所有内容..到目前为止我做得不太好。我的程序要求用户输入,效果很好,第二种方法应该检查并确保输入正确,我似乎无法开始工作,它要么循环说输入是正确的,要么是错误的。因为代码现在它循环说输入不正确。

import java.util.Scanner;

public class tgore_perfect 
{
    private static int count;   
    public static void main ( String args [])
    {
        count = getNum ();
        boolean check = validateNum();
        while (check == false)
        {
            System.out.print ("Non-positive numbers are not allowed.\n");
            count = getNum();
        }
        if (check == true)
        {
            System.out.print("kk");
        }
    }

    public static int getNum () //gets amount of numbers to process
    {
    Scanner input = new Scanner ( System.in );
    int counter;

    System.out.println ("How many numbers would you like to test? ");
    counter = input.nextInt();
    return counter;
    }

    private static boolean validateNum() //checks user input
    { 
        if (count <= 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
}

通过一个主要方法执行此程序很容易,通过这么多方法执行此程序只是让我感到困惑。 。 .

最佳答案

您的问题是您没有再次检查该值。试试这个:

//System.out.print(check);
while (validateNum() == false)
{
    System.out.print ("Non-positive numbers are not allowed.\n");
    count = getNum();
}

关于java - 多种方法和无限循环发生的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13396321/

相关文章:

java - 按位置直接从 RecyclerView 访问 ViewHolder

java - 为什么这个线程连续运行多次?

node.js - 导致无限循环的快速身份验证重定向

java - Java中的唯一ID代码

java - AsyncTask 中的 ArrayAdapter 出错

Java排序数组

javascript - 尝试构建宾果游戏,同时无限循环,似乎找不到原因

c - HAL_Delay() 陷入死循环

JavaScript 循环返回意外结果

java - 如何只匹配两个词?