gpt4 book ai didi

java - 将奇偶数与字符串分开

转载 作者:行者123 更新时间:2023-11-30 06:09:09 25 4
gpt4 key购买 nike

问题如下:

从用户处获取逗号分隔的数字字符串并打印奇数和偶数的集合。

示例输入:

1,2,3,4,5,6,7,8,9,10

示例输出:

奇数:

1,3,5,7,9

偶数:

2,4,6,8,10

示例输入:

20,30,40

示例输出:

偶数:

20,30,40

我的代码:

class OddEv{
public static void main(String args[]){
String s;
Scanner in=new Scanner(System.in);
s=in.nextLine();
for(int i=0;i<s.length();i++){
if(s.charAt(i)%2==0){
System.out.print(s.charAt(i));

}

if(s.charAt(i)%2!=0){
System.out.print(s.charAt(i));
}
}

但我没有得到正确的答案。我应该进行哪些更改才能根据问题获得正确的输出

其实我不太了解java所以我不知道在这里做什么

最佳答案

您可以尝试这个简单的解决方案,而不使用任何其他概念,例如regex。为此,您可以拆分字符串并将其存储在字符串数组中,然后迭代数组,您可以检查数字是奇数还是偶数。以下代码会将字符串中的所有偶数和奇数存储到名为 evenodd 的数组中。

String s = "1,2,3,4,5,6,7,8,9,10";

int even[] = new int[10];
int odd[] = new int[10];
String ar[] = s.split(",");
int j=0,k=0,oddChecker=0,evenChecker=0;
for(int i=0;i<ar.length;i++){
if(Integer.parseInt(ar[i])%2 == 0){
even[j] = Integer.parseInt(ar[i]);
++j;
evenChecker = 1;

}
else{
odd[k] = Integer.parseInt(ar[i]);
++k;
oddChecker = 1;
}

}


if(oddChecker == 0){
System.out.println("even");
System.exit(0);
}

if(evenChecker == 0){
System.out.println("odd");
System.exit(0);
}



System.out.println("Even numbers:");

for(int i=0;i<j;i++){
if(i!=j-1){
System.out.print(even[i]+",");
}
else{
System.out.print(even[i]);
}
}
System.out.println();
System.out.println("Odd numbers:");

for(int i=0;i<k;i++){
if(i!=k-1){
System.out.print(odd[i]+",");
}
else{
System.out.print(odd[i]);
}
}

Output:

Even numbers:
2,4,6,8,10

Odd numbers:
1,3,5,7,9

在检查条件并向数组添加数字时,不要忘记将字符串转换为整数。为此,我使用了 Integer.parseInt(your_string)

关于java - 将奇偶数与字符串分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38549098/

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