Javaの:どのようにString配列内の単語のn番目の文字を取得します

user430574:

私は、文字列の配列を受け取り、単一のStringを返しますgetSuccessiveLetters(言葉)という名前の静的メソッドを書くために必要なのです。文字列の配列が{「こんにちは」、「世界」}であれば、プログラムは「ホ」返す必要があります。「h」は2ワードなどから2番目の文字である「O」、最初の単語です。

私は{「こんにちは」、「世界」}の正しい戻り値を得ることができますが、文字列の配列が含まれている場合は、例えば、{「第一」、「第二」、「第3」、「4」「第5」}それはそれは苦労範囲外になります。

public class Template01 {
    public static void main(String[] args) {
        System.out.println(getSuccessiveLetters(new String[]{"1st", "2nd", "3rd", "4th", "fifth"})); 
    }

public static String getSuccessiveLetters(String[] words) {
    char Str[] = new char[words.length];
    String successive;
    for(int i = 0; i < words.length; i++){
        successive = words[i];
        if (i < successive.length()){  
            Str[i] = successive.charAt(i);
        }
        else
        {
            break;
        }
    }
    successive = new String(Str);
    return successive;
}

私は、戻り値は1NDことが期待、実際の出力は1ND \ X00 \ X00です。

Kartik:

あなたはchar型の配列を初期化するとき、それはデフォルトのchar型の値を持つ配列を埋めるため、これが起こっています。
あなたは使用することができますStringBuilderまたはList<Character>各添加であなたの「アレイ」を成長します。

変化する

char[] str = new char[words.length];

StringBuilder str = new StringBuilder();

そして

str[i] = successive.charAt(i);

str.append(successive.charAt(i));

その後、最後にsuccessive = str.toString();

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=317554&siteId=1