0

文字列の入力配列と同じ長さのペアの配列を返すクラスを作成したいと考えています。さらに、ペアには文字列の最初の文字と文字列の長さが必要です。

例えば; create(new String[] {"clue", "yay", "neon", "halala"}) はペアの配列 {['c',4],['y',3],['n ',4],['h',6]}

したがって、私の入力と出力は両方とも配列になります。ただし、出力はペアの形式でなければなりません。これが私が試したことです:

import java.util.Arrays;



public class Couple {


public static Couple[] create(String[] source){

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

            System.out.print("["+","+source.length+"]") ;
        }
        return null;

    }            

    public static void main(String[] args) {
        System.out.println(Arrays.toString(create(new String[] {"clue", "yay", "neon", "halala"})));

    }

}

いくつかのエラーがあることは明らかなので、null を返したくありません。しかし、このコードをテストするためだけに、私はそれをしなければなりませんでした。何か案は?

4

4 に答える 4

1
public class Couple {

    private char firstChar;
    private int length;

    public Couple(char firstChar, int length) {
        this.length = length;
        this.firstChar = firstChar;
    }

    public static Couple[] create(String[] source) {
        Couple[] couples = new Couple[source.length]; // create the array to hold the return pairs

        for (int i = 0; i < source.length; i++) {
            String entry = source[i];
            if (entry != null) {
                couples[i] = new Couple(entry.charAt(0), entry.length());
            } else {
                // What do you want to do if there's a null value?
                // Until you answer this we'll just leave the corresponding Couple null aswell
            }
        }

        return couples;
    }

    @Override
    public String toString() {
        return "Couple{" +
                "firstChar=" + firstChar +
                ", length=" + length +
                '}';
    }
}
于 2013-08-08T00:40:43.037 に答える
1

あなたは正しい軌道に乗っています:

  • を返すのではなくnull、ペアの配列を作成し、ループに入力する必要があります。ソースの長さがあるので、結果の長さがわかります。
  • 個々の単語を見るには、source[i]
  • 単語の頭文字を切り落とすにはsource[i].charAt(0)
  • 単語の長さを取得するにはsource[i].length()
  • このCoupleクラスには、acharと anの 2 つのデータ メンバーが必要intです。それらはコンストラクターで設定する必要があります
  • データ メンバーにはゲッターが必要です -public char getChar()そしてpublic int getLength()それぞれのメンバーを返します
  • 印刷はmain、返されたペアの配列をたどるループ内で実行する必要があります。

残りは完了できるはずです。

于 2013-08-08T00:33:47.143 に答える