gpt4 book ai didi

java - 字符数组

转载 作者:行者123 更新时间:2023-12-01 13:32:03 24 4
gpt4 key购买 nike

以下方法接收一个字符对象数组,并返回一个仅包含数字字符的新数组。

示例;旧[]数组:{1,R,Y,O,2,3,3 }----新[]数组:{1,2,3,3}

这是我的代码,它没有返回我想要它返回的内容。

public static char[] getDigits(char[] charArray) {    

最佳答案

我认为您需要执行两个循环才能正确调整数组的大小。

public static char[] getDigits(char[] charArray) {
int digitCount = 0;
for (char ch : charArray) {
if (Character.isDigit(ch)) {
digitCount++;
}
}
char[] toReturnDigits = new char[digitCount];
int index = 0;
for (char ch : charArray) {
if (Character.isDigit(ch)) {
toReturnDigits[index++] = ch;
}
}
return toReturnDigits;
}

public static char[] getDigitsOld(char[] charArray) {
int arrayLength = charArray.length;
char[] toReturnDigits = new char[arrayLength];
int index = 0;
for (int i = 0; i < arrayLength; i++) {
if (charArray[i] >= 48 && charArray[i] <= 57) {
toReturnDigits[index++] = charArray[i];
}
}
return toReturnDigits;
}

public static void main(String arg[]) {
char[] old = new char[] { '1', 'R', 'Y', 'O', '2',
'3', '3' };
System.out.println(Arrays
.toString(getDigitsOld(old)));
System.out.println(Arrays
.toString(getDigits(old)));
}

输出

[1, 2, 3, 3, 
[1, 2, 3, 3]

关于java - 字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21519979/

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