返回一个Pairs数组,其长度与字符串的输入数组相同。 (JAVA)

时间:2013-08-08 00:28:24

标签: java

我想创建一个类,该类将返回与输入字符串数组长度相同的对数组。 另外,该对应该具有字符串的第一个字母和字符串的长度。

例如

; create(new String [] {“clue”,“yay”,“neon”,“halala”}) 应该返回Pairs数组 {[” 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 个答案:

答案 0 :(得分:1)

你走在正确的轨道上:

  • 您应该创建一个对数组,并在循环中填充它,而不是返回null。你知道结果的长度,因为你有源的长度
  • 要查看单个字词,请使用source[i]
  • 要删除使用source[i].charAt(0)
  • 一词的首字母
  • 要获得单词的长度,请使用source[i].length()
  • Couple类需要两个数据成员 - charint;它们应该在构造函数中设置
  • 数据成员应该有吸引力 - public char getChar()public int getLength()返回各自的成员
  • 打印应在main中,在循环中返回返回的数组对

你应该能够完成剩下的工作。

答案 1 :(得分: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 +
                '}';
    }
}

答案 2 :(得分:0)

暗示你可能需要这个:

Couple[] result = new Couple[source.length];

并编写一个循环来创建Couple个实例并将它们放入result数组中。

答案 3 :(得分:0)

使用此代码:

import java.util.Arrays;

public class Couple {

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

        String[] temp = new String[source.length];
        for (int i = 0; i < source.length; i++) {

            if (source[i].length() > 0) {
                String newString = "[" + source[i].charAt(0) + ","
                        + source.length + "]";
                //System.out.print(newString);
                temp[i] = newString;
            } else {
                String newString = "[" + " " + "," + 0 + "]";
                //System.out.print(newString);
                temp[i] = newString;
            }

        }
        return temp;

    }

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

    }

}