如何在没有第一学期的情况下打印数组?

时间:2013-08-02 19:20:58

标签: java arrays

我正在编写一个程序,根据输入控制台的命令打开链接。该命令是“/ wiki> term array<”,它将打开一个wiki打开的web浏览器,并通过所述wiki的搜索功能发送术语数组。

以下是构建要发送到搜索字段的术语数组的当前代码:

SearchTerm = Arrays.toString(StringTerm).replace("[", "").replace("]", "").replace(",", "");

现在,所有这一切都是在我的斜杠命令中将所有术语传递给“/ wiki”并将它们打印到列表中。它还删除了逗号和方括号,使其打印更清晰。

- 我想为数组中的第一个术语添加一个特定参数,因此如果输入了特定代码,例如“/ wiki wikipedia chickens”,它会将用户发送到维基百科,其中包含“鸡” “用搜索词”维基百科鸡“搜索而不是默认维基。

使用我必须构建术语数组的当前代码,我需要使用Arrays.toString以便以可读的方式打印整个数组,但我不希望它在数组后打印第一个术语它通过我的关键字过滤器?

当我使用此代码时:

WIKI_HYPERLINK = WIKI_WIKIPEDIA + StringTerm[1] + StringTerm[2] + StringTerm[3] + StringTerm[4] + StringTerm[5]; 

它使用数组术语1 - 5,但如果只有3个输入的术语,则会抛出错误,如果超过5,则会引发错误。

所以我的问题是:如何排除第一个词之外的整个数组?

2 个答案:

答案 0 :(得分:2)

您可以在循环中使用StringBuilder

//  StringBuilder with initial String
StringBuilder builder = new StringBuilder(WIKI_WIKIPEDIA); 
for (int i=1; i < stringTerm.length; i++) {
   builder.append(stringTerm[i]);
}
String searchTerm = builder.toString();

答案 1 :(得分:0)

您可以尝试这样的事情:

String outputString = "";
for (int i = 1; i < StringTerm.Length; i++)
    {
        outputString += StringTerm[i];
    }

如果Java中有for each之类的东西,你也可以使用if (Array.Element != 0)循环,但我不知道。只需编辑上面的代码,即可获得所需的格式。