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

时间:2014-11-09 22:02:35

标签: java methods

所以我需要编写一个允许用户输入整数值的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

我该如何解决此问题

以及我如何在代码中使用isEven方法,我只学习如何使用java所以有人可以指导我正确的方向用这个

1 个答案:

答案 0 :(得分:2)

你走了!我已经使用了一个do-while循环来了解它的用法。如果您愿意,您应该可以轻松地将其切换到while循环。请尝试理解这里的逻辑,以便将来重现它。假设您使用Java来学习面向对象的编程,您可能希望从isEven()方法中删除static关键字并理解它具有的效果。

我知道你还在学习,但正如迈克所说,避免养成评论你在这里的方式的习惯。撰写有意义的评论,以解释您想要实现的更高层次的观点。 (商业价值,如果你愿意的话)。不要在这里批评,我只希望你发现评论有用:-)干杯

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