2

各要素に「_」文字を含む文字列配列があり、これらの文字を削除したいと考えています。

このタスクは String [] split(String regex) メソッドを使用するだけで簡単に実行できますが、後で J2ME でこのコードを使用するため、この関数では実行したくありません。

このタスクを実行するコードを作成しましたが、出力は奇妙な文字 [Ljava.lang.String;@19821f [Ljava.lang.String;@addbf1 !!!] です。

public class StringFragementation {

static public   String [] mymethod(String [] mystring)
{

   String ss [] =new String[mystring.length];

   for(int j=0;j<mystring.length;j++)

   {
   ss[j] =  mystring[j].replace('_',',');

   }

   return ss ;

   }
 public static void main(String [] args)

  {

   String []  s = {"Netherlands_Iceland_Norway_Denmark","Usa_Brazil_Argentina"};

   for(int i=0;i<s.length;i++)
   {

 System.out.println("" + mymethod(s) );

   }

       }

       }  
4

4 に答える 4

3

Java では、各オブジェクトtoString()メソッドがあり、デフォルトでは、クラス名の表現が表示され、@次にハッシュコードが追加されます。

sssの配列ですStringこの方法Arrays#toString()で実装されているを使用する必要があります。

3860     public static String toString(int[] a) { {
3861        if (a == null)
3862            return "null";
3863        int iMax = a.length - 1;
3864        if (iMax == -1)
3865            return "[]";
3866
3867        StringBuilder b = new StringBuilder();
3868        b.append('[');
3869        for (int i = 0; ; i++) {
3870            b.append(a[i]);
3871            if (i == iMax)
3872                return b.append(']').toString();
3873            b.append(", ");
3874        }
3875    }

または、次のことができます。

for(String str : mymethod(s)) {
    System.out.println(str);
}
于 2013-11-10T09:58:29.217 に答える
0
public class MyDisticntElements {

    public static void main(String[] args)
    {
        int [] nums = {2,3,4,5,8,7,7};
        MyDisticntElements.printDuplicate(nums);
    }
    public static void printDuplicate(int[] arr)
    {
        for(int i =0; i<arr.length; i++)
        {
            boolean duplicate = false;
            for(int j = 0; j<i; j++)
            {
                if(arr[i] == arr[j])
                {
                    duplicate = true;
                    break;
                }
            }
            if(duplicate)
            {
                System.out.println(arr[i]+"");
            }
        }
    }
}
于 2016-01-09T20:37:22.010 に答える
0

そこに表示されるのtoString()は、配列で呼び出されたときのメソッドの結果です。ほとんど無意味です。出力されるのは、配列の型とそれに続く hashCode です。

java.util.Arrays.toString()配列を意味のある文字列表現に変換するために使用します。

于 2013-11-10T09:55:16.797 に答える