嗨,我正在使用布尔值,我有点困惑。我有一个布尔值:
boolean answer;
这可以有两个值:是或否。
如果我从标准输入中插入字符串“yes”,则变为true,否则为false。我该怎么办?
答案 0 :(得分:11)
假设输入是你的字符串:
boolean answer = input.equalsIgnoreCase("yes");
答案 1 :(得分:3)
这样的事情可能很有价值:
private static final Set yesSet = new HashSet( Arrays.asList( new String[] {"1", "aam", "ae", "ām", "ano", "âre", "avunu", "awo", "aye", "ayo", "baht", "bai",
"bale", "bele", "beli", "ben", "cha", "chaï", "da", "dai", "doy", "e", "é", "éé", "eh", "èh", "ehe", "eja", "eny", "ere", "euh", "evet", "éwa", "giai",
"ha", "haan", "hai", "hoon", "iè", "igen", "iva", "já", "jā", "ja", "jah", "jes", "jo", "ken", "kha", "khrap", "kyllä", "leo", "naam", "ndiyo", "o", "òc",
"on", "oo", "opo", "oui", "ova", "ovu", "oyi", "po", "sci", "se", "shi", "si", "sim", "taip", "tak", "tiao", "true", "v", "waaw", "wè", "wi", "ya", "yan",
"ydw", "yea", "yebo", "yego", "yes", "yo", "yoh", "za", "За", "Так", "Тийм", "نعم", "ใช่", "ค่ะ", "ครับ",
} ) );
public static final boolean stringToBool ( String s ) {
return ( yesSet.contains( s.toLowerCase() ) );
}
派生自FreeLang
答案 2 :(得分:1)
您需要执行字符串比较。使用String.equals
:
String a = "foo";
String b = "bar";
boolean c = a.equals(b);
答案 3 :(得分:0)
如果您的字符串保存为响应(字符串响应):
if(response.equals("yes")){
answer = true;
}else{
answer = false;
}
答案 4 :(得分:0)
boolean answer;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = "";
try{
input = br.readLine();
}
catch(IOException e){}
if (input.compareTo("yes") == 0)
{
answer= True;
}
else{
answer = False;
}
答案 5 :(得分:0)
这应该这样做:
boolean answer;
String input = "yes"
if (input.equals("yes")) {
answer = true;
}
答案 6 :(得分:0)
boolean answer = new Scanner(System.in).nextLine().equalsIgnoreCase("yes");