Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 输入一个整数,程序显示奇数/偶数,-1是否终止_Java_Methods - Fatal编程技术网

Java 输入一个整数,程序显示奇数/偶数,-1是否终止

Java 输入一个整数,程序显示奇数/偶数,-1是否终止,java,methods,Java,Methods,因此,我需要编写一个Java应用程序,允许用户输入一个整数值,然后应用程序调用一个名为isEven的方法来确定并显示输入的值是奇数还是偶数。在输入-1之前,应用程序应保持运行 我已经设法做到了这一点,但我遇到了一个问题 import java.util.Scanner; public class Enter_Input { //create method isEven private static void isEven(int[] numbers) {

因此,我需要编写一个Java应用程序,允许用户输入一个整数值,然后应用程序调用一个名为isEven的方法来确定并显示输入的值是奇数还是偶数。在输入-1之前,应用程序应保持运行

我已经设法做到了这一点,但我遇到了一个问题

import java.util.Scanner;

public class Enter_Input {

    //create method isEven
    private static void isEven(int[] numbers) {     
        System.out.println( );
    }

    static int number = 0;

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.println("Enter number (-1 to quit): ");
        number = input.nextInt();

        while(number > 0) {

        if (number % 2 == 0) {
              System.out.println(number + " is even");
        }//end if statement
        else {
              System.out.println(number + " is odd");
        }//end else statement

        if (number == -1){          
            System.out.println("Program Terminated");
            break;
        }//end if statement
        }//end while loop


    }//end main method

}//end class
当我输入一个数字时,就会发生这种情况

Enter Number (-1 to quit):
2
2 is even
2 is even
2 is even
2 is even
2 is even
etc
我想让它看起来像

Enter Number (-1 to quit):
2
2 is even

Enter Number (-1 to quit):
7
7 is odd

Enter Number (-1 to quit):
-1
Program Terminated
我该如何着手解决这个问题


还有,我该如何使用这个方法呢?即使在代码中,我只是在学习如何使用java,所以请有人用这个来指导我正确的方向!我也使用了一个do-while循环来让您理解它的用法。如果愿意,您应该能够轻松地将其切换到while循环。请尝试并理解这里的逻辑,以便将来可以复制它。假设您正在使用Java学习面向对象编程,您可能希望从
isEven()
方法中删除static关键字,并了解它的效果。

我知道你还在学习,但正如迈克提到的,避免养成评论你在这里的方式的习惯。写下有意义的评论,从更高的层面解释你想要实现的目标。(商业价值,如果你愿意的话)。我不想在这里批评你,我只希望你觉得这些评论有用:-)干杯


你需要在
循环中而不是在循环外部询问数字,否则你每次都只会处理相同的数字。编程注意:当你需要解释代码所做操作背后的理论时,请使用注释。例如“//end if statement”,当语句只有几行时就显得杂乱无章了。如果使用适当的缩进,while+If块不需要任何注释,那么很明显哪些部分做了什么。@DavidWallace按照您所说的做了,并将问题放入while循环中,现在代码不会运行,它会弹出1秒钟,然后disappears@Mike“Pomax”Kamermans如果我不添加这样的注释,即使它很混乱,我也会得到停靠标记。只要将循环条件更改为
,而(true)
将起作用,因为您使用
break
退出它。欢迎!如果你能将它标记为正确的,如果它是你想要的:)干杯
import java.util.Scanner;

public class Enter_Input {

    //create method isEven
    private static void isEven(int currentNumber) {
        if (currentNumber % 2 == 0) {
                System.out.println(currentNumber + " is even\n");
            }//end if statement
            else {
                System.out.println(currentNumber + " is odd\n");
        }//        
    }

    public static void main(String[] args) {

        int number = 0;

        Scanner input = new Scanner(System.in);
        do {
            System.out.println("Enter number (-1 to quit): ");
            number = input.nextInt();

            if (number == -1) {                
                break;
            }//end if statement
            else  {
                Enter_Input.isEven(number);
            }//end else statement

        } while (number > 0); //end do while loop

        System.out.println("Program Terminated");
    }//end main method

}//end class