在switch语句之后,我想请求'Y'或'N'语句并为相应的响应打印出一条语句。如何声明输入字符,然后提供该值的扫描器输入?
我尝试使用输入作为char和一个整数。我也尝试过使用boolean方法。
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>
<script>const {map, reduce, toPairs, range, length, values, pipe, prop, uniq, concat, chain, keys, assocPath, indexOf} = R </script>
我希望输出是相应输入的println响应。
答案 0 :(得分:2)
我会尝试这样的事情:
System.out.println("Enter 'Y' or 'N'");
char input = in.next("Y|N").charAt(0);
if('Y' == input)
System.out.println("OK");
else
System.out.println("wow");
in.next("Y|N")
部分请求'Y'或'N'(字符串"Y|N"
被解释为正则表达式),并以字符串形式返回结果。 charAt(0)
函数返回此字符串的第一个(也是唯一的)字符。
请注意,如果您未输入“ Y”或“ N”,则此方法将引发异常。
如果要避免出现异常,可以使用以下代码段:
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");
但是要小心,因为如果有人输入非整数的内容,那么您对in.nextInt()
的第一次调用仍然会失败。
答案 1 :(得分:0)
您可以执行以下操作:
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");
}
}
答案 2 :(得分:0)
假设您无需扩展程序即可执行除打印到控制台外的任何操作,以下是我要采用的方法:
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();
}
三元运算符用于检查条件并在没有switch
或if
语句的情况下打印到控制台。