是否可以使用临时变量与向量进行交互?

问题描述 投票:-1回答:1

我的程序“ spacesList”中使用了一个向量”>

for(int v = 0; v < Phrase.length(); v++)
        {
            char temp = Phrase.charAt(v);
            String tempString = Character.toString(temp);

            if(tempString.equals(" "))
            {
            words++;
            spacesList.add(v);
            }
        }

[在将来的for循环中尝试调用该项目时,它给出了超出范围的错误。这行不通吗?我写错了吗?

任何帮助和建议,我们都会感谢,因为到目前为止我还没有在Java中使用过向量。

编辑:这是完整的主程序

package piglatinTranslation;

import java.util.Scanner;
import java.util.Vector;

public class PigLatin {

    public static void main (String[]args)
    {

        Scanner Input = new Scanner(System.in);

        int words = 1;
        Vector<Object> spacesList = new Vector<Object>();
        Vector<Object> translatedWordList = new Vector<Object>();

        String Phrase = Input.nextLine();
        Input.close();

        for(int v = 0; v < Phrase.length(); v++)
        {
            char temp = Phrase.charAt(v);
            String tempString = Character.toString(temp);

            if(tempString.equals(" "))
            {
            words++;
            spacesList.add(v);
            }
        }

        for(int v = 0; v < words; v++)
        {
            if(v == 0)
            {
            int subStrEnd = (int) spacesList.get(v);
            Phrase.substring(0, subStrEnd);
            translatedWordList.add(Translate.translateWord(Phrase));
            }   
            else
            {
            int subStrStart = (int) spacesList.get(v - 1); 
            int subStrEnd = (int) spacesList.get(v);
            Phrase.substring(subStrStart, subStrEnd);
            translatedWordList.add(Translate.translateWord(Phrase));
            }
        }

        for(int v = 2; v < words; v++)
        {
        Phrase.concat((String) translatedWordList.get(v));
        }

        System.out.println(Phrase);

    }

}

我正在尝试使用空格的位置,以便能够将主字符串“短语”划分为单独的单词。

我在程序“ spacesList”中使用了一个向量,用于(int v = 0; v

我不完全确定我理解这个问题,因为您的代码不完整且相当多余,但是我认为您正在从for循环中尝试将字符串中的所有空格添加到“向量”?这实际上是java.util中的Vector还是ArrayList?我对Vector不太了解,强烈建议您使用ArrayList。

我不知道您为什么要在列表中添加空格?您是否要计算空格数?为此,您可以在空格之间分割字符串,并且空格数将比分割数组的长度小一。

String s = "a bc def g h ijk lm nop";
int numSpaces = s.split(" ").length - 1; 
java translators
1个回答
0
投票

我不完全确定我理解这个问题,因为您的代码不完整且相当多余,但是我认为您正在从for循环中尝试将字符串中的所有空格添加到“向量”?这实际上是java.util中的Vector还是ArrayList?我对Vector不太了解,强烈建议您使用ArrayList。

© www.soinside.com 2019 - 2024. All rights reserved.