Только Принятие 2 в качестве числа и неправильный вывод нечетного или четного - PullRequest
0 голосов
/ 25 сентября 2018

Доброе утро, я пытаюсь чему-то научиться самостоятельно.Как я перегружен для заданий, как есть.Это просто небольшая тренировочная программа, над которой я работал.Тем не менее, я понимаю, что не знаю, что происходит.Когда дано число, отличное от 2, оно говорит: «Пожалуйста, введите действительное число, спасибо». Когда дано 2, оно говорит: «Число даже не так, есть остатки». Я не уверен, почему я получаю это.Почему он не принимает другие числа и почему он говорит, что 2 не является четным?Любая помощь в том, что я неправильно интерпретирую, будет принята с благодарностью.Спасибо.

import java.util.Scanner;

public class Assignment1
{

    //Scanner keyboard = new Scanner(System.in);
    //int num = keyboard.nextInt();

    public static int isEven()
    {
        Scanner keyboard = new Scanner(System.in);
        int num = keyboard.nextInt();

        switch (num)
        {

          case 1:
              if (num % 2 == 0)
              System.out.println("The Number is Even no Remainders");
              break;
          case 2:
              if (num % 2 != 0);
              System.out.println("The Number is not even so there are Remainders");
              break;
          default:
             System.out.println("Please input a valid number, Thank you.");

        }//switch
        /*pull number from user
        //store in num
        //if even print message num is even
        //else print message not an even number
         * This is the remainder of my psuedcode notes to remind me how my
         * mind was flowing
         */
        return num;

    } //isEven

    public static void main (String args[])
    {
        Assignment1.isEven();

    }//main
}//public class assignment one

1 Ответ

0 голосов
/ 25 сентября 2018

Документация для switch-case здесь .

А теперь попробуйте это, я добавил несколько комментариев к строкам. Внимательно прочитайте .

public class Assignment1 {

    public static int isEven() {
        Scanner keyboard = new Scanner(System.in);
        int num = keyboard.nextInt();

        num = num % 2; // divide by 2 and get a remainder.
        switch (num) {
            case 0: //case 0 means if number equal to zero
                System.out.println("The Number is Even no Remainders");
                break;
            case 1: // case 1 means if number equal to one
                System.out.println("The Number is not even so there are Remainders");
                break;
            default: // if no one match if not a valid.
                System.out.println("Please input a valid number, Thank you.");

        }//switch
        /*pull number from user
        //store in num
        //if even print message num is even
        //else print message not an even number
         * This is the remainder of my psuedcode notes to remind me how my
         * mind was flowing
         */
        return num;

    } //isEven

    public static void main(String args[]) {
        Assignment1.isEven();

    }//
}
...