Android Studio Java - первый массив для отображения значений индекса из второго массива

У меня есть «EditText» под названием Inputs1 для ввода значений для сравнения с массивом example1, используя оператор «If».

Массив с именем example1 имеет следующие значения: 5, 10, 15, 20, 25, 30.

Outputs1 используется для отображения значений из массива example1

Кроме того, массив с именем example2 имеет следующие значения: 105, 110, 115, 120, 125, 130.

Outputs2 используется для отображения значений из массива example2 с использованием значения индекса из массива example1.

Пример:

The Inputs1 value is: 20

Outputs1 displays the value: 20

Outputs2 should display the value: 120

Я дошел до того, что сделал Outputs1 для отображения значения: 20, но я не могу получить код для Outputs2, отображающий значение: 120.

Пожалуйста, помогите мне кто-нибудь с вышеуказанным опытом или знаниями?

Спасибо.

Код:

    public class exampleOutput extends AppCompatActivity {

    Editable text;
    EditText Inputs1;
    TextView Outputs1;
    TextView Outputs2;
    Integer arrayIndex;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_example_output);

        Outputs1 = (TextView) findViewById(R.id.Outputs1);
        Inputs1 = (EditText) findViewById(R.id.Inputs1);
        text = Inputs1.getText();
        Outputs2 = (TextView) findViewById(R.id.Outputs2);



    }

    final String[] example1 = {("5"), ("10"), ("15"), ("20"), ("25"), ("30")};
    final String[] example2 = {("105"), ("110"), ("115"), ("120"), ("125"), ("130")};


    public void displayExample(View v) {

        if (Arrays.asList(example1).contains(Inputs1.getText().toString())) {

            Outputs1.setText("You typed in: " + text + ", which is correct!");
            arrayIndex = (Arrays.asList(example1).indexOf(Inputs1.getText().toString()));
            Outputs2.setText("Your second number is: [The value from the second array] " +  ", the index is: " + arrayIndex + "!");

            } else {

            Outputs1.setText("Please type in a number 1-5.");
            Outputs2.setText("");

      }

   }

}

Опубликуйте свой код, чтобы узнать, как получить ценность для Label1.

Ayush Khare 03.12.2018 03:15

какой у вас текущий код?

bunbun 03.12.2018 03:15
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
413
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

ты можешь использовать

int indexFromLabel1 = array1.indexOf(valueWhoseIndexYouNeed);

Затем, если я правильно понял, вы хотите показать значение этого индекса в Array2. Это вы, должно быть, уже поняли

int valueFromArray2 = array2[indexFromLabel1 ];

Предполагается, что я правильно понял сценарий.

Еще лучше, вы должны применить проверку, чтобы увидеть, существует ли требуемый индекс в Array2, например

if ( indexFromLabel1 < array2.length() ){
    int valueFromArray2 = array2[indexFromLabel1 ];
}else {
    //Do your logic

}

Это сработало из-за array2[indexFromLabel1 ], спасибо за помощь, я пытался понять, как распечатать значение.

Devealte 03.12.2018 13:29

рад это слышать.

C Forge 10.12.2018 04:38

Похоже, вы никогда не печатаете значение из массива example2

Попробуйте изменить эту строку:

Outputs2.setText("Your second number is: [The value from the second array] " +  ", the index is: " + arrayIndex + "!");

к этому:

Outputs2.setText("Your second number is: [The value from the second array] " + example2[arrayIndex] + ", the index is: " + arrayIndex + "!");

Я пытался распечатать значение, но никогда не знал, как это работает, теперь это работает благодаря + example2[arrayIndex], спасибо, что помогли мне с этим. К сожалению, первым ответил другой человек, поэтому я не могу назвать это правильным ответом.

Devealte 03.12.2018 13:26

Другие вопросы по теме