-3

これは私のプロジェクト作業のためのもので、この部分で行き詰まりました。私は主に 2 つの弦を持っています。

String str = "Testing split me Difficult ";

String str1 = "Testing me split";

スペースに従って、str と str1 の両方を 2 つの配列に分割しました。次のようになります。

String[] tokens = ["Testing","Split", "Me", "Difficult"]

String[] tokens1 = ["Testing","me", "Split"]

2 配列の 2 つのインデックスごとに、パーセンテージ関数が適用されます。パーセンテージが同じ場合、2 番目の配列から 2 文字列を取得し、それを配列リストに追加する必要があります。

ここに私が持っているものがあります:

Public class SplitString {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
            ArrayList arrayList = new ArrayList();
    String str = "Testing split me Difficult;

    String str1 = "Testing me split";
    String[] tokens = str.split("\\s");
    String[] tokens1 = str1.split("\\s");
    for(int i =0;i<tokens.length;i++){
        if(tokens[i].equals(tokens1[i])){
                 arrayList.add(tokens[i]);

        }
        if(Percentage.getpercentagedifference(tokens[i], token[i++]) == Percentage.getpercentagedifference(tokens1[i], tokens1[i++]) ){

                     // I am stuck on how to take the 2 string and swap the contents


                    }
                 else{
                     arrayList.add(tokens[i]);


                 }
}

}
}

Percentage.getpercentagedifference は、2 つの文字列を取り、そのパーセンテージ差を返す単なる関数です。

結果の出力は次のようになります。

String newlist = "Testing me split Difficult ";

わからない人は以下を参考にしてみてください。

画像

4

1 に答える 1

1

私たちのほとんどは、あなたが何をしようとしているのか理解していないと思います。ひとつヒントですが、

あなたが使用している

getpercentagedifference(tokens[i], tokens[i++]) // changes i afterwards

そのため、メソッドに同じ文字列を 2 回指定します。あなたはおそらくしたいです

getpercentagedifference(tokens[i], tokens[i + 1]) // doesn't change i

あなたが実際に何をしようとしているのかまだ理解できないので、2 つの異なる配列から 2 つの文字列を交換する方法を次に示します。

String[] fruits = new String[]{"Apples", "Bananas", "Melons", "Oranges"};
String[] animals = new String[]{"Cats", "Dogs", "Horses", "Zebras"};
String temp = fruits[1]; // save Bananas
fruits[1] = animals[1];  // replace Bananas with Dogs in fruit array
animals[1] = temp;       // replace Dogs with Bananas in animals array
System.out.println(Arrays.toString(fruits)); // prints [Apples, Dogs, Melons, Oranges]
System.out.println(Arrays.toString(animals)); // prints [Cats, Bananas, Horses, Zebras]
于 2013-02-17T14:17:08.133 に答える