我想在屏幕上顯示一個有兩個選項的問題(你結婚了嗎:y/n)。用戶必須按或「y」或「n」。之後,我想在屏幕上打印「已婚」或「未婚」。如何將char轉換爲Java中的布爾值?
我想過在使用char來獲得輸入通過Scanner類(System.in)並將此char轉換爲布爾類型以便用if語句顯示兩個選項後。問題是我不知道如何將此char轉換爲布爾類型。是否有意義?有其他方式以不同的方式來做這個例子嗎?
非常感謝
我想在屏幕上顯示一個有兩個選項的問題(你結婚了嗎:y/n)。用戶必須按或「y」或「n」。之後,我想在屏幕上打印「已婚」或「未婚」。如何將char轉換爲Java中的布爾值?
我想過在使用char來獲得輸入通過Scanner類(System.in)並將此char轉換爲布爾類型以便用if語句顯示兩個選項後。問題是我不知道如何將此char轉換爲布爾類型。是否有意義?有其他方式以不同的方式來做這個例子嗎?
非常感謝
是的,你試圖做的方式是不做場景。你可以做如下
Scanner sc=new Scanner(System.in);
String st=sc.nextLine();
if("y".equalsIgnoreCase(st)){
// married
}else if("n".equalsIgnoreCase(st)){
// not married
}
很簡單:
boolean isYes = (inputChar=='y' || inputChar=='Y');
你也可以轉換的char /小寫,所以你不會需要||
。取決於你有多少測試,如果它是值得的。
在這種情況下,那些括號並不是真的需要,因爲||
比賦值有更高的優先級,但是我個人發現,當像這樣的「條件」包含在括號中時,它會更清晰。
我認爲枚舉是一個很好的方法。將規則封裝在對象中。
將用戶響應綁定到對象是一種視圖責任。輸入是下拉菜單還是文本框?
婚姻狀況是一個有趣的。還有比「是/否」多口味:單身,已婚,離婚,分居,卡戴珊等
public class MaritalStatus {
MARRIED, NOT_MARRIED;
}
你不能簡單地投char
到boolean
,但你可以把它比作'y'
和'n'
public static boolean charToBool(char c) {
// c = Character.toLowerCase(c);
switch (c) {
case 'y':
return true;
case 'n':
return false;
default:
throw new IllegalArgumentException("Must be either 'y' or 'n'.");
}
}
你不能將一個字符轉換成布爾值,因爲程序應該如何知道'y'表示真,'n'表示假? if語句
bool married = false;
if(input.equalsIgnoreCase("y"))
married = true;
我敢打賭,一個簡單的谷歌搜索 使用會幫助你做作業。
無需投射。只需檢查'if(ch =='y'|| ch =='Y'){...} else {...}'其中'ch'是您的'char' – pzaenger 2014-09-26 12:03:01
初學者,不要使用布爾值,使用枚舉 – user902383 2014-09-26 12:04:49