gpt4 book ai didi

java - 将 int 数组转换为 String 并返回 (getArrayString)

转载 作者:行者123 更新时间:2023-12-01 19:33:56 26 4
gpt4 key购买 nike

我必须创建一个 getArrayString(int[] array, char seperator) 方法,该方法返回一个字符串,其中每个数组条目(最后一个除外)后面都跟有指定的分隔符。

我知道数组方法的构造函数,但在这个方法中,我首先必须定义一个返回数组的公式,除了最后一个,第二个将我的 int[] 数组转换为 String 并使用分隔符返回它。

public static getArrayString(int[] array, char separator) {
if(array == null ||array.length == 0) {
return null;
}
int size =0;
for(int i =0; i < array.length; i++) {

size++;
}
int[] newArray2 = new int[size];
for(int i= 0, position = 0; i < array.length; i++) {
newArray2[position]=i;
position++;
System.out.print(i+',');
}
// String StArray = Arrays.toString(newArray2);
// return StArray + separator;
// newArray2 = convertStringArrayToString(StArray,separator);
// return StArray;
//
//return Arrays.toString(newArray2)+ separator;
}
// private static String convertStringArrayToString(String[] newArray,char separator) {
// StringBuilder sb = new StringBuilder();
// for(String StArray : newArray);
// return sb.substring(0,sb.length()-1);
// }

注释是转换为字符串并返回它的想法!

最佳答案

将 int[] 连接到字符串

编辑:我刚刚发现你有一个 int[] 而不是 String[]。我可能会使用 Streams 方法:

String result = Arrays.stream(array)
.mapToObj(String::valueOf)
.collect(Collectors.joining(separator));

如果您确实想使用 for 循环,则应该使用 StringJoiner:

public static getArrayString(int[] array, char separator) {
if(array == null || array.length == 0) return "";

String separatorString = String.valueOf(separator);
StringJoiner sj = new StringJoiner(separatorString);

for(int element : array) {
sj.add(String.valueOf(element));
}

return sj.toString();
}

将 String[] 连接到字符串

你的问题的措辞让我觉得你正在为类(class)学习这个,但如果你不是,只需使用内置的 join 功能:

// join takes Iterable<? extends CharSequence> or vararg
String.join(separator, myArray)
String.join(separator, myList)
String.join(separator, charSeq1, charSeq2, ..., charSeqN)

如果您需要前缀/后缀,可以使用StringJoiner :

StringJoiner sj = new StringJoiner(separator, prefix, suffix);
String result = sj.add(s1).add(s2).add(s3).toString();

...这也是 Stream Collectors.joining 的基础:

String result = Arrays.stream(array)
.collect(Collectors.joining(separator));

String result = Arrays.stream(array)
.collect(Collectors.joining(separator, prefix, suffix));

关于java - 将 int 数组转换为 String 并返回 (getArrayString),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58513321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com