Android Studio Java-第一个数组显示第二个数组的索引值

时间:2018-12-03 02:11:53

标签: java android arrays if-statement indexing

我有一个名为Inputs1的“ EditText”,用于使用“ If”语句输入要与数组example1进行比较的值。

名为example1的数组具有以下值:5,10,15,20,25,30

Outputs1用于显示数组example1

中的值

另外,名为example2的数组具有以下值:105、110、115、120、125、130

Outputs2用于显示来自数组example2的值,使用来自数组example1的索引值

示例:

  

Inputs1的值是:20

     

Outputs1显示值:20

     

Outputs2应该显示值: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("");

      }

   }

}

2 个答案:

答案 0 :(得分:1)

您可以使用

int indexFromLabel1 = array1.indexOf(valueWhoseIndexYouNeed);

然后,如果我没有正确理解,则想在Array2的此索引处显示值。 您必须已经弄清楚了这个

int valueFromArray2 = array2[indexFromLabel1 ];

这是假设我正确理解了情况。

更好的是,您应该进行检查以查看所需的索引是否在Array2中存在,像这样

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

}

答案 1 :(得分:1)

好像您从不打印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 + "!");