私の電卓にはプラスボタンがあります。最初のステートメントは、入力がないときに "+"記号を追加することです(計算ストリング変数はユーザーからのすべての入力を保持します)。 2番目のステートメントは、ユーザーが ""を追加することで、行に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.
therエラーは、文字列が空(長さ:0)の場合です。空の文字列の最後の文字を見つけようとすると、どうなると思いますか? Characterの代わりにcharを使用し、二重引用符の代わりにsingleを使用するcharリテラルと比較することも検討してください。 – vandale
私がcharを使うと、何らかの理由で==や.equals()を使うことができないので、Characterを保持しなければなりません。文字列が空の場合、ステートメント1はそれを処理します。 –
それは奇妙に思える。 'lastChar == '+''も動作するはずです。 – vandale