В моем следующем коде. Я пытаюсь назначить другую строку «Оператор» каждой кнопке (плюс, минус, вычесть), а затем ссылаться на них в равном случае с помощью оператора if. Я попытался определить theOperator в плюсе, но я просто узнал, что разные случаи не могут видеть друг друга. Как определить оператор за пределами блока коммутатора, но все же он определен для идентификатора Add?Как обратиться к кнопке вне блока переключателя
package rechee.cool;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class HelloAndroidActivity extends Activity {
/** Called when the activity is first created. */
public EditText display;
double counter1 = 0;
double counter2 = 0;
String theOperator = new String("+");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Associate the button variable with the xml reference
display = (EditText) findViewById(R.id.editText1);
}
String display1 = display.getText().toString();
public void onClick(View v) {
switch (v.getId()) {
case R.id.bOne:
display.append("1");
break;
case R.id.bTwo:
display.append("2");
break;
case R.id.bThree:
display.append("3");
break;
case R.id.bFour:
display.append("4");
break;
case R.id.bFive:
display.append("5");
break;
case R.id.bSix:
display.append("6");
break;
case R.id.bSeven:
display.append("7");
break;
case R.id.bEight:
display.append("8");
break;
case R.id.bNine:
display.append("9");
break;
case R.id.bZero:
display.append("0");
break;
case R.id.bPoint:
display.append(".");
break;
case R.id.bClear:
display.setText("");
break;
case R.id.bAdd:
double displayValue = Double.parseDouble(display1);
counter1 += displayValue;
display.setText("");
//String theOperator= new String("+");
break;
case R.id.bEqual:
//display.setText(Double.toString(counter2));
//counter1 = 0;
// Tried using a switch for theOperator, but 1.6 doesn't allow string switch. So I'm going to use if else statements instead.
if (theOperator == "+") {
}
}
//case "+":
//break;
}
}
В коммутаторе, когда вы нарушаете оператор каждого случая, выполняется только один случай, что вы имеете в виду, используя что-то из одного в другом случае? – kosa
Я хочу, чтобы проверить, что если нажата кнопка равенства, проверьте, была ли нажата другая кнопка (плюс, умножить, разделить или вычесть). Я еще не добавил код остальных этих кнопок. И тогда у меня есть отдельный код, если бы была нажата каждая из этих кнопок. – recheej
Кроме того, что вы сделали вместо утверждений дела и почему добавление бесполезно? – recheej