Java 输入一个整数,程序显示奇数/偶数,-1是否终止
因此,我需要编写一个Java应用程序,允许用户输入一个整数值,然后应用程序调用一个名为isEven的方法来确定并显示输入的值是奇数还是偶数。在输入-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) {
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