#java #if-statement #user-input
#java #if-statement #пользовательский ввод
Вопрос:
У меня их два Editext
, и мне нужно, чтобы они оба были истинными для доступа ко второй странице, но даже если оба значения false при нажатии на кнопку, он получает доступ ко второй странице независимо.
public void DoSubmit(View view) {
String guessSize = weight.getText().toString();
String guessSize2 = height.getText().toString();
if ((Integer.parseInt(guessSize) <= 20 || Integer.parseInt(guessSize) >= 200) amp; (Integer.parseInt(guessSize2) <= 80 || Integer.parseInt(guessSize2) >= 300) ) {
Toast.makeText(MainActivity.this, "Enter value between 20kg and 200kg", Toast.LENGTH_SHORT).show();
Toast.makeText(MainActivity.this, "Enter value between 20kg and 200kg", Toast.LENGTH_SHORT).show();
}
else {
Intent summaryActivity = new Intent(view.getContext(), secondpage.class);
int weightkg = Integer.valueOf(weight.getText().toString());
int heightcm = Integer.valueOf(height.getText().toString());
summaryActivity.putExtra("weight", weightkg);
summaryActivity.putExtra("height", heightcm);
startActivity(summaryActivity); // start the new page
}
}
Ответ №1:
Используйте amp;amp;, а не amp; . amp;amp; является логическим И, amp; является побитовым.
Комментарии:
1. Я не думаю, что это проблема с кодом OP.
amp;
работает с логическими значениями; это просто не приводит к короткому замыканию.