从字符串数组中获取索引位置

时间:2016-10-30 06:36:31

标签: java arrays indexing

先决条件:必须是单维数组,不能是HashMaps或ArrayLists

序:

我现在卡住了,已经被困了很长一段时间了。我现在真的需要一些帮助或不同的思考过程。所以我有两个包含字符串的数组。程序的功能是获取用户输入,检查它是否存在于一个数组中,并输出第二个数组相对于第一个数组的相同精确索引位置。例如,如果用户键入一个存在为array1 [5]的单词,它应该输出位于array2 [5]的单词。我目前正处于这样的程度,我的程序可以准确地确定用户输入是否与我的第一个数组中的字符串匹配。

问题:

所以我坚持的部分是从第一个数组获取索引整数值,并让它使用相同的整数值在第二个数组中绘制相同的位置。一般来说,我需要知道如何在array1 [x]中存储x的值并将其存储为变量并打印出array2 [x]并且基本上它们匹配。

  public void actionPerformed( ActionEvent ae ){
  Object obj = ae.getSource();

  if ( obj == b1)
   {
    input = tf1.getText();

    for (e=0; e<english.length; e++)
    {
         if (!input.equals(english[e]))
          {
           translate = false;

          }

          else if (input.equals(english[e]))
          {
           output = swedish[index];

           translate = true;
           repaint();
           break;


      }

    }


    }

4 个答案:

答案 0 :(得分:0)

您正在通过swedish[index]访问第二个数组,但代码中的任何位置都没有index变量。我认为它应该是swedish[e]

这样,当您在第一个数组中匹配时,您使用完全相同的索引来访问第二个数组。

答案 1 :(得分:0)

只需输出一个String,然后循环浏览英文数组

如果input.equals(english [e])output = swedish [e]

答案 2 :(得分:0)

之后

for (e=0; e<english.length; e++)
    {

put index = e;

答案 3 :(得分:0)

我对你的问题感到困惑,但我会尽力回答。

array_1 =第一个数组

array_2 =第二个数组

  1. 如果您尝试根据array_1中匹配的索引位置打印array_2中的String 只需改变

    output = swedish[index];

    output = swedish[e];

  2. 如果您尝试将array_1中匹配字符串的位置索引存储在一个变量中,然后使用它来打印存储在array_2中该位置的任何内容。然后;

    将e的值存储在int中。

    int matchingLocation = e;

    然后使用它做你想要的,例如在这样的位置打印array_2中的任何内容

    System.out.println(array_2[matchingLocation]);