有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在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; 
   }
}

共 (3) 个答案

  1. # 1 楼答案

    编写一个应用程序,读入两个整数,确定并打印第一个整数是否是第二个整数的倍数。例如,如果用户输入15和3,则第一个数字是第二个数字的倍数。如果用户输入2和4,则第一个数字不是第二个数字的倍数

  2. # 2 楼答案

    你不需要把事情复杂化。您只需要更简洁的代码:

    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;
        }
    
    }
    
  3. # 3 楼答案

    在第一个示例中,执行此操作时正确分配了变量

    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.");