gpt4 book ai didi

java - 奇偶数使用 Switch 无需用户输入

转载 作者:行者123 更新时间:2023-12-01 22:00:21 25 4
gpt4 key购买 nike

初始化两个整数变量并将它们设置为零。循环遍历数组中的每个项目并进行计算以确定该数字是偶数还是奇数(使用模运算符)。使用 switch 语句,为所有偶数递增一个变量,并为任何奇数对另一个变量执行相同的操作(使用递增运算符)。
将偶数和非数的总数输出到屏幕。

示例输出:

34, 53, 125, 854 8, 1045, 66, 9434, 5205, 235
There are 5 even numbers.
There are 5 odd numbers.

这是我的代码

public class Switch {
public static void main(String[] args) {
// TODO Auto-generated method stub


int n = 0;
int e = 0, o = 0;

for( n = 5; n < 50; n++)

{

if(n % 2 == 0)
System.out.println(n);


//e= 0; o = 0;

switch(n){
case 1: o = 0;
case 3:
case 5:
case 7:
case 9: o++; break;
// these are Even
case 2: e = 0;
case 4:
case 6:
case 8:
case 10: e++; break;

default: System.out.println("no odd or even numbers");
}
}
System.out.println("You have " + e + " even numbers: and you have odd numbers " + o);
}
}

这是我的输出,我做错了什么。

no odd or even numbers
48
no odd or even numbers
no odd or even numbers
You have 3 even numbers: and you have odd numbers 3

最佳答案

原始代码的主要问题是 switch(n) 语句。这(大致)相当于说

if (n == 1) {
o = 0;
} else if (n == 2) {
e = 0;
}
if (n == 3 || n == 5 || n == 7 || n == 9) {
o++;
}
else if (n == 4 || n == 6 || n == 8 || n == 10) {
e++;
}
else {
System.out.println("no odd or even numbers");
}

我相信您可以看到该代码有什么问题,我希望它能解释您的初始输出。

你在5到50的范围内循环,所以你的3个偶数是6、8和10,你的3个奇数是5、7和9。所有偶数都被打印出来,其余的都被打印出来没有奇数或偶数

<小时/>

这是根据您的问题提供的可行解决方案。

请注意,数字只有 2 种状态,偶数或奇数(01)。因此,您的“没有偶数或奇数”的打印声明没有意义。

我也不确定你在从 5 到 50 的循环中做了什么......

 public static void main(String[] args) {

int[] nums = new int[] {34, 53, 125, 854, 8, 1045, 66, 9434, 5205, 235};

int e = 0, o = 0;

for(int i = 0; i < nums.length; i++)
{
int remainder = nums[i] % 2;

switch(remainder){
case 0:
e++;
break;
case 1:
o++;
break;
default:
break;
}
}
System.out.println("There are " + e + " even numbers. There are " + o + " odd numbers.");
}

关于java - 奇偶数使用 Switch 无需用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621497/

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