我有一个名为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("");
}
}
}
答案 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 + "!");