Ingrese un número entero que sea negativo y par o positivo e impar

Estoy creando un programa que le pide al usuario varios números enteros y una de las declaraciones le pregunta al usuario "Ingrese un número entero que sea negativo, par o positivo e impar". ¿Cómo haría exactamente para configurar una pregunta así? Tengo esto hasta ahora. No tengo idea de cómo exactamente debo hacer esto, ya que mis instrucciones son bastante confusas. Esta es la pregunta para mi problema:

4. Pídale al usuario un número entero que sea negativo e par o positivo e impar. Use una declaración if y un condicional compuesto.

import java.util.Scanner;

public class ExerciseFour   
{
public static void main ( String[] argsv )
{


    int choice;
    int choiceTwo;
    int choiceThree;

    Scanner input = new Scanner(System.in);

        System.out.println( "Enter a number between 0 and 10" );
        choice = input.nextInt();


            if ( choice > 0 && choice < 10 ) 
            {   System.out.println( "Valid number" );   
            }
            else 
            {   System.out.println( "Invalid number" );
            return;
            }




        System.out.println( "Enter a number divisible by 2 or 3?" );
        choiceTwo = input.nextInt();

            if ( choiceTwo % 2 == 0 && choiceTwo % 3 == 0 )
            {   System.out.println( "Valid number" );
            }
            else    
            {   System.out.println( "Number not divisible by 2 or 3" );
                return;             
            }

        System.out.println( "Enter an integer that is negative and even or positive and odd (Ex. -2 or 7 )" );
        choiceThree = input.nextInt();

            if ( choiceThree  ) 
            { 
            } 
            else 
            { 
            }
Respuesta 1

La clave es usar el operador de módulo . Un número par es divisible por 2 sin resto. Entonces:

if (choiceThree  < 0) {
    if (choiceThree % 2 == 0) {
        System.out.println ("Valid");
    } else {
        System.out.println ("Invalid");
    }
} else {
    if (choiceThree % 2 != 0) {
        System.out.println ("Valid");
    } else {
        System.out.println ("Invalid");
    }
}

Esto es un poco engorroso, por supuesto. Una forma más elegante de expresar esta lógica booleana sería mediante el uso del operador exclusivo o (xor) . Este operador devuelve truesi uno y solo uno de sus operandos evalúa true:

if (choiceThree  > 0 ^ choiceThree % 2 == 0) {
    System.out.println ("Valid");
} else {
    System.out.println ("Invalid");
}
Respuesta: 2

Creo que hay un error en la segunda pregunta.

choiceTwo % 2 == 0 && choiceTwo % 3 == 0

es posible que desee escribir en ||lugar de &&porque es tristemente visible para 2 o 3 ;-)

Para su otro problema: tiene dos expresiones booleanas que pueden ser ciertas:

Pídale al usuario un número entero que sea negativo e incluso

(choiceThree < 0 && choiceThree % 2 == 0)

o positivo y extraño.

(choiceThree > 0 && choiceThree   % 2 == 1)

Use una declaración if y un condicional compuesto.

Así que solo combine estos enunciados con un OR lógico (||)

Respuesta: 3

Cree un método que devuelva verdadero si es uno de esos escenarios:

public boolean isCorrectInteger(int number){

    if ((number < 0) && (number % 2 == 0)) { //negative and even
        return true;
    } else if((number < 0) && (number % 2 == 1)) { // positive and odd
        return true;
    } else { // other cases
        return false;
    }
}

Esto se puede escribir en una condición más grande, solo lo he dividido en dos por un simple ejemplo.

También tenga en cuenta que el cero actualmente no está asignado ni a positivo ni a negativo: puede cambiar esto a su gusto utilizando los operadores <=o >=.

Respuesta: 4

Actualmente estoy haciendo un programa de sudoku, sin embargo, mi código actual parece fallarme. La secuencia de comandos a continuación debe imprimir "Rompecabezas de sudoku inconsistente" si una fila contiene el mismo número varias veces, ...

Soy nuevo en Cassandra y Spark e intento obtener datos de DB usando spark. Estoy usando Java para este propósito. El problema es que no hay excepciones lanzadas o se produjo un error, pero aún así no puedo ...

Sé que 2389% 10 es 9, pero ¿cómo podría crear un método que tome 2 parámetros? Uno para el número y el otro para el índice y devolverá el valor en el índice ...

Actualmente estoy empezando a aprender Java y he intentado recrear el Juego de la vida de Conway. Mi código funciona a medida que las células mueren y nacen, pero no parecen seguir las reglas previstas. Soy ...