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();
。