我想创建一个类,该类将返回与输入字符串数组长度相同的对数组。 另外,该对应该具有字符串的第一个字母和字符串的长度。
例如; 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。但只是为了测试这段代码,我必须这样做。 有任何想法吗?
答案 0 :(得分:1)
你走在正确的轨道上:
null
。你知道结果的长度,因为你有源的长度source[i]
source[i].charAt(0)
source[i].length()
Couple
类需要两个数据成员 - char
和int
;它们应该在构造函数中设置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"})));
}
}