0

私は、ユーザーがこの番号を選択して、ユーザーが後で呼び出すことができる変数として保存される1〜9000の数値を出力するアプリを作成中です。

    public void onClick(View v) {
    // TODO Auto-generated method stub
    String number = urNum.getText().toString();
    if (number >= " " && <= 9000) {

        numOut.setText("Your number is set to: " + number);
    }
}

このコード:(数値>="" && <= 9000)
には、次のようなエラーがあります。演算子> =は、引数の型に対して未定義ですString、
int-これらのエラーを修正するにはどうすればよいですか?

この問題に関するヘルプは素晴らしいでしょう!

4

2 に答える 2

1

まず、これは有効な Java 構文ではありません。毎回変数を指定する必要があります。次に、数値を空の文字列と比較することはできません。まず数値を整数に変換してから、別の整数と比較する必要があります。

public void onClick(View v) {
    // TODO Auto-generated method stub
    String numberString = urNum.getText().toString().trim();
    int number = Integer.valueOf(numberString);
    if (number >= 1 && number <= 9000) {
        numOut.setText("Your number is set to: " + number);
    }
}

入力された値が数値でない可能性がある場合は、それも処理する必要があります。

public void onClick(View v) {
    // TODO Auto-generated method stub
    String numberString = urNum.getText().toString();
    int number;
    try {
        number = Integer.valueOf(numberString);
    } catch (NumberFormatException nfe) {
        number = 0;
    }
    if (number >= 1 && number <= 9000) {
        numOut.setText("Your number is set to: " + number);
    }
}

注:try/catchブロックAndroidEditTextの数字の制限複数の条件付きステートメントifについて学習することをお勧めします。

于 2012-07-24T21:20:46.077 に答える
0

問題は、数値が現在文字列であり、それを int に変換すると、次のようなことができることです。

int number = Integer.valueOf(urNum.getText().toString());
if (number >= 0 && number <= 9000)
于 2012-07-24T21:23:58.907 に答える