java - 获取数组中的特定数据

时间:2016-06-28 18:05:50

标签: java sorting

键盘,土豆,lalalala,水果,hidrogen,企鹅,国际象棋,中国,论坛,游戏,游戏,书籍,猫,饼干,charizard,chapters1,苹果,:adasd - Bddddible加里

钻石:微笑,xxxxxx,emvvvai,电子邮件,fdsf,ssfsd,xxxxxx,lllklk,窗口,狗,食物,图片,科技,父母,aadsadsa dasdasda jkghgda

关于,cesart,couies,jaaaava,lllloooo,evv,loooool,hodasdme,chair,ppppp,openclass,ffsdfsdf hhhhhhh; 543 ..

嗨,所以我无法制作算法将粗体信息转换为数组,这可以应用于上述3种情况。到目前为止,我没有为所有3种情况提供一些东西 提示:使用',' (至少这就是我一直在做的事情)

2 个答案:

答案 0 :(得分:0)

编译并运行。

编辑:从中看,您的比较操作应为if(! item.contains(" ")),因为带有空格的字符串似乎是您从数组中排除的内容。

import java.util.*;

public class HelloWorld
{
     public static void main(String []args)
     {
        // Store your input string
        String string = "a,b,c,...,z";

        // Separate input string by commas, since that is what you specified
        String[] arrayPre = string.split(",");

        // Instatiate your temporary list
        List<String> list = new ArrayList<String>();

        // Instatiate the final array
        String[] arrayPost;

        // Iterate through each item in the array
        for(String item : arrayPre)
        {
            // Comparison condition. Change to whatever condition matches your boldfacing
            if(! item.contains(" "))
            {
                list.add(item);
            }
        }

        // Instantiate final array using the size of the temporary list
        arrayPost = new String[list.size()];

        // Fill final array
        for(int i = 0; i < list.size(); i++)
        {
            arrayPost[i] = list.get(i);
        }

        // Print final array contents
        for(String s : arrayPost)
        {
            System.out.println(s);
        }
     }
}

答案 1 :(得分:0)

你可以轻松地将其变成阵列!我将在最后给你一个完整的代码示例,但首先我将向你解释我将要做什么:

您可以创建一个字符串数组来存储所有字符串。现在要拆分单词,你可以使用String中的方法split()! 但首先你必须分开你不需要的部分。为此,您可以创建一个方法,该方法将采用整数值来指示哪个部分是您想要使用的部分!因此,对于第一个和第二个示例,您必须使用“:”拆分部分。在第一个示例中,您希望获得第一部分,而在第二个示例中,您希望获得第二部分。然后在所有例子中,不需要空格之后(或之前)的部分,所以我将以相同的方式将它们分开。

首先,我将创建一个方法,它接受一个字符串(您的示例)和两个整数(用于“:”和“”)。之后我将从我的类main调用该方法,该方法将返回一个字符串(粗体部分):

package someGuyOnStackOverFlowHasAproblem;

class StringSplit {

private static String split(String input, int colon, int space) {
    String[] outString = input.split(":");

    outString = outString[colon].split(" ");

    return outString[space];
}

public static void main(String[] args) {

    System.out.println("Example 1 output: " +
        split("keyboard,potato,lalalala,fruit,"
                + "hidrogen,penguin,chess,china,forum,"
                + "game,play,book​s,cat,cookie,charizard,"
                + "chapters1,apple,"
                + ": adasd - Bddddible gary On"
                , 0, 0)
    );

    System.out.println("Example 2 output: " +
        split("Diamond: smile,xxxxxx,emvvvai,email,fdsf,"
                + "ssfsd,xxxxxx,lllklk,window,dog,food,picture,tech​,"
                + "parent,aadsadsa dasdasda jkghgda"
                , 1, 1)
    );


    System.out.println("Example 3 output: " +
        split("about,cesart,couies,jaaaava,"
                + "lllloooo,evv,loooool,hodasdme,"
                + "chair,ppppp,openclass,​ffsdfsdf "
                + "hhhhhhh ;543.."
                , 0, 0)
    );
}

}

我的输出:

  

示例1输出:键盘,土豆,lalalala,水果,hidrogen,企鹅,国际象棋,中国,论坛,游戏,游戏,书籍,猫,饼干,charizard,chapters1,苹果,

     

示例2输出:   微笑,XXXXXX,emvvvai,电子邮件,fdsf,ssfsd,XXXXXX,lllklk,窗口,狗,食品,图片,高科技,父母,aadsadsa

     

示例3输出:   约,cesart,couies,jaaaava,lllloooo,EVV,loooool,hodasdme,椅子,PPPPP,openclass,ffsdfsdf

难道不是吗?如果你还有任何问题,请问他们。

- 的修改 -

如果您想将输出放入数组中,请执行以下操作:String[] finalOutput = String.split(split(yourString, yourPartonCollonsInt, yourPartonSpacesInt))