Копия массива, распечатывающая номера, которые пользователь никогда не вводит

Сначала вам нужно объявить и инициализировать представление include, а затем decalre и инициализировать обе кнопки с помощью метода view.findViewById () следующим образом:

View includeView = (View)findViewById(R.id.clicked);
Button button1 = (Button)includeView.findViewById(R.id.button1ID); //decalre button like this
Button button2 = (Button)includeView.findViewById(R.id.button2ID);

И затем установить их onClickListeners

button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //code whatever you want to do here
            }
        });

 button2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //code whatever you want to do here
            }
        });

** EDIT **

Исправлена ​​опечатка. Должен быть includeView на findViewById. Хорошее объяснение, хотя!

-1
задан mrtammy 14 July 2018 в 01:23
поделиться

1 ответ

Ваш массив over70, содержащий значения мусора.

У вашего массива, например, есть изначально 5 значений мусора, теперь, когда вы вводите свои метки, которые меньше 70, поэтому другие элементы этого массива останутся значением мусора.

Итак, если массив over70 содержит только метки двух учеников, вы все равно печатаете весь массив, который, как ожидается, покажет вам неожиданные значения.

Здесь вы можете подсчитать количество студентов с отметками более 70 и пропустить третий цикл только много раз, чтобы печатались только те метки ученика, которые отметили более 70

Ответ, если вы этого хотите.

int j = 0; for(int i = 0; i < size; i++) { if(marks[i] > 70) { over70[j] = marks[i]; j++ } } // j - количество студентов более 70 баллов

1
ответ дан Siraj 17 August 2018 в 12:03
поделиться
  • 1
    Поэтому я попытался настроить свою программу, и в настоящее время я делаю if (marks [i] & gt; 70) {count ++}; но теперь я не уверен, как инициализировать мой массив over70. – mrtammy 14 July 2018 в 01:41
  • 2
    Инициализация означает предоставление некоторого начального значения вашей переменной. int marks[5] = { 0 }; // all elements 0 Он инициализирует все ваши элементы до нуля – Siraj 14 July 2018 в 01:44
  • 3
    Просто видел скрытый ответ для лучшего способа подсчета элементов, чем просто увеличивать счет. Вы можете использовать индекс count70 как свою переменную count – Siraj 14 July 2018 в 01:45
  • 4
    Меня действительно беспокоит, что у вас, видимо, не может быть многострочного кода в теге spoiler. (Я просто попытался отредактировать ваш ответ, чтобы удалить уродливое форматирование обратного хода, но не смог заставить его работать.) – Nic Hartley 14 July 2018 в 01:54
  • 5
    Да, я также пробовал при написании ответа. – Siraj 14 July 2018 в 01:55
Другие вопросы по тегам:

Похожие вопросы: