0
我的計算器上有一個加號按鈕。第一種說法是在沒有輸入時(計算字符串變量保存來自用戶的所有輸入)添加「+」符號。第二個陳述是防止用戶通過添加「」在一行中輸入2個「+」符號。Android計算器 - 加號按鈕
它不斷給我一個錯誤:java.lang.StringIndexOutOfBoundsException: length=0; index=0
。
btnMinus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calculation = tvCalculation.getText().toString();
Character lastChar = calculation.charAt(calculation.length());
//App negeert deze statements
if(calculation.length() >= 0) {
tvCalculation.setText(calculation + "-");
} else if (lastChar.toString().equals("+")) {
tvCalculation.setText(calculation + "");
}
}
});
有人告訴我,那是因爲在toString()
線4
當字符串爲空(長度:0)時,錯誤是錯誤的。如果您嘗試查找空字符串的最後一個字符,您認爲會發生什麼?你也應該考慮使用char而不是Character來比較它與char文字,它們使用單引號而不是雙引號。 – vandale
如果我使用char,出於某種原因我不能使用==或.equals(),所以我必須保留Character。當字符串爲空時,語句1將處理它。 –
這看起來很奇怪。 'lastChar =='+''也應該有效。 – vandale