有沒有一種方法,包括一個簡單的,如果一個Java字符串內聲明作爲參數傳遞給函數,如下面的例子Java。如果內部字符串聲明爲函數的參數
int TotalFiles = 3;
JOptionPane.showMessageDialog(frame,
"Created " + TotalFiles + " file" + (if(TotalFiles>1){"s"}) + ".");
有沒有一種方法,包括一個簡單的,如果一個Java字符串內聲明作爲參數傳遞給函數,如下面的例子Java。如果內部字符串聲明爲函數的參數
int TotalFiles = 3;
JOptionPane.showMessageDialog(frame,
"Created " + TotalFiles + " file" + (if(TotalFiles>1){"s"}) + ".");
您可以使用a ternary (or conditional) operator:
"Created " + TotalFiles + " file" + (TotalFiles > 1 ? "s" : "") + "."
方評論:非常量變量在Java中以小寫開頭,所以totalFiles
。
嘗試:(totalFiles>0 ? "s" : "sometThingElse")
使用三元運算符。
JOptionPane
.showMessageDialog(
frame,
"Created " + TotalFiles + " file" + (TotalFiles > 0 ? "s": "") + "."
);
我還建議:
camelBack
變量,而不是CamelCase
String
格式更容易閱讀/維護格式化我更喜歡使用括號來清楚說明這不是'TotalFiles> 0? 「s」:(「」+「。」) –
@PeterLawrey是有道理的。起初我實際上誤解了你的評論。 – Mena
是,使用三元運營商。
JOptionPane.showMessageDialog(frame, "Created " + TotalFiles + " file" + (TotalFiles > 0 ? "s" : "") + ".");
三元需要這樣的表達如(TotalFiles > 0)
,進行比較,並且如果它是真實的返回?
後的值,否則返回值後:
這是equivilant到設計一個返回私有方法一個基於表達式的字符串:
private String isMultipleFiles(int totalFiles)
{
if(totalFiles > 0)
return "s";
else
return "";
}
提示:學習java命名約定。變量名稱爲camelCase;他們不開始大寫。 – GhostCat