[英]Write a Java program that separates the even and odd numbers in an integer array
[英]An application that determines an entered integer to be odd or even in Java
我是 Java 语言的新手,到目前为止刚刚学习了基本的东西。 我必须编写一个应用程序,要求用户输入一个整数,然后显示一个语句,指示一个整数是偶数还是奇数。 这就是我所做的:
import java.util.Scanner;
public class EvenOdd
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer >> ");
int num = input.nextInt();
double divisibleByTwo = num % 2;
if(divisibleByTwo == 0)
System.out.println("The integer entered is even.");
else
System.out.println("The integer entered is odd.");
}
}
上面的代码工作正常,但是对我的代码进行评分的软件要求我的代码采用以下格式:
import java.util.Scanner;
class EvenOdd
{
public static void main(String[] args)
{
// accept user input and check if number is even or odd
}
public static boolean isEven(int number)
{
// check if number is even
}
}
以下是我的设置,但我有几个错误,我不确定如何开始并使其正常工作。 任何帮助,将不胜感激。
import java.util.Scanner;
class EvenOdd
{
public static void main(String[] args)
{
// accept user input and check if number is even or odd
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer >> ");
int num = input.nextInt();
isEven(num);
boolean divisible;
isDivisibleByTwo = divisible;
if(divisible == true)
System.out.println("The integer entered is even.");
else
System.out.println("The integer entered is odd.");
}
public static boolean isEven(int number)
{
// check if number is even
int remainderByTwo = number % 2;
boolean isDivisbleByTwo = (remainderByTwo == 0);
return isDivisibleByTwo;
}
}
在您的第一个示例中,您在执行时正确分配了变量
double divisibleByTwo = num % 2;
然后使用返回的值检查
if(divisibleByTwo == 0)...
返回真或假。 但是在下一个代码示例中
isEven(num); //NO asignment!!!!
boolean divisible; //defaults to false
isDivisibleByTwo = divisible;
if(divisible == true) //divisble will always be false
由于您从未将可整除分配给 isEven 返回的值,因此您的 if 语句将始终返回 false,因为布尔变量的默认值为 false。
您需要分配 isEven 方法调用返回的值,然后像这样使用该值
boolean isDivisibleByTwo = isEven(num);
if(isDivisibleByTwo)
System.out.println("The integer entered is even.");
else
System.out.println("The integer entered is odd.");
或者您可以使用 isEven 方法的返回值,而不必将其分配给这样的变量
if(isEven(num))
System.out.println("The integer entered is even.");
else
System.out.println("The integer entered is odd.");
你不需要把事情复杂化。 你只需要更简洁的代码:
public class OddEven {
public static void main(String[] args) {
// accept user input and check if number is even or odd
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer >> ");
int num = input.nextInt();
boolean remainder = isEven(num);
if (remainder == true)
System.out.println("The integer entered is even.");
else
System.out.println("The integer entered is odd.");
}
public static boolean isEven(int number) {
if (number % 2 == 0)
return true;
else
return false;
}
}
您的目标是在isEven
方法中完成所有计算,您的 main 方法将仅用于从用户获取数字并调用其他方法。 无需在那里进行计算。
换句话说,类似于以下内容:
import java.util.Scanner;
class EvenOdd
{
public static void main(String[] args)
{
// Get the user input
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer >> ");
int num = input.nextInt();
// Check if the input is correct ?
// Call your method and check the return value
if(isEven(num))
System.out.println("The integer entered is even.");
else
System.out.println("The integer entered is odd.");
}
// And then your method is good
public static boolean isEven(int number)
{
// check if number is even
return (number % 2) == 0;
}
}
编写一个应用程序,读取两个整数并确定并打印第一个是否是第二个的倍数。 例如,如果用户输入 15 和 3,则第一个数字是第二个数字的倍数。 如果用户输入 2 和 4,则第一个数字不是第二个数字的倍数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.