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 Réponses :
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");
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");
}
}
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();
}
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
|| code> opérateur fonctionne uniquement sur les booléens