0
votes

"Comment puis-je demander une entrée if-else après une déclaration de commutation?"

Après une instruction de commutation, je voudrais demander une déclaration «Y» ou «N» et imprimer une déclaration pour la réponse respective. Comment puis-je déclarer l'entrée Char, puis fournir une entrée de scanner pour cette valeur?

J'ai essayé d'utiliser une entrée comme char et un entier. J'ai également essayé d'utiliser la méthode booléenne aussi. P>

import java.util.*;
public class Dowhile {


  public static void main(String[] args) { 
    Scanner in = new Scanner(System.in);
    int x;
    System.out.println("0,1,-1: ");
    x = in.nextInt();

    switch(x)
    {
      case 1:
        System.out.println("Positive");
        break;
      case -1:
        System.out.println("Negative");
        break;
      case 0:
        System.out.println("Zero");
        break;
      default:
        System.out.println("You're a bad person!");
        break;
    }   

    char input = (('Y'||'N'));
    System.out.println("Enter 'Y' or 'N'");
    in.nextInt();                    
    if(input = 'Y')
      System.out.println("OK");
    else
      System.out.println("wow");



  }}


3 commentaires

Ne devrait-il pas être double équivaut - si (entrée = = 'y')


Vous devez également affecter la valeur de retour de NEXTINT () à une variable.


Et le || opérateur fonctionne uniquement sur les booléens


3 Réponses :


2
votes

J'essaierais quelque chose comme ceci:

    System.out.println("Enter 'Y' or 'N'");
    char input = in.next(".").charAt(0);
    if('Y' == input)
      System.out.println("OK");
    else if ('N' == input)
      System.out.println("wow");
    else
      System.out.println("You haven't entered a valid character");


0 commentaires

0
votes

Vous pouvez le faire comme suit:

import java.util.Scanner;

public class DoWhile {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("0,1,-1: ");
        int x = in.nextInt();

        switch (x) {
        case 1:
            System.out.println("Positive");
            break;
        case -1:
            System.out.println("Negative");
            break;
        case 0:
            System.out.println("Zero");
            break;
        default:
            System.out.println("You're a bad person!");
            break;
        }
        System.out.print("Enter 'Y' or 'N': ");
        String input = in.next();
        if (input.equalsIgnoreCase("Y"))
            System.out.println("OK");
        else if (input.equalsIgnoreCase("N"))
            System.out.println("Wow");
        else
            System.out.println("Incorrect input");
    }
}


0 commentaires

0
votes

En supposant que vous n'avez pas besoin d'élargir votre programme pour faire autre chose que d'impression à la console, vous serez l'approche que je prendrais:

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in);

    System.out.println("0,1,-1: ");
    int x = in.nextInt();
    System.out.println(
            x == 1 ? "Positive" :
            x == -1 ? "Negative" :
            x == 0 ? "Zero" :
            "You're a bad person!"
    );

    System.out.println("Enter 'Y' or 'N'");
    System.out.println(in.next().equalsIgnoreCase("Y") ? "OK" : "wow");
    in.close();
}


0 commentaires