[英]how can i find even and odd number between any number?
我正在制作一个程序作为我在 java 中学习的培训,它可以查看用户输入的任何数字之间的偶数和奇数,如果我在开始时输入偶数,它会显示消息的问题
你没有输入偶数
如果用户在开始时输入了奇数,我只是希望他首先查看此消息
public static void main(String[] args) {
isevennumber(1, 5);
}
public static void isevennumber(int startwith, int endwith) {
for (int i = startwith; i <= endwith; i++) {
if (i % 2 == 0) {
System.out.println("you have entered an even number which is " + i);
} else {
System.out.println("you haven't entered an even number");
}
}
}
输出是
you haven't entered an even number you have entered an even number which is 2 you haven't entered an even number you have entered an even number which is 4 you haven't entered an even number
抱歉有任何错误,这是我在这里的第一篇文章
这里的问题是,在循环中,每次输入的数字都不是奇数时,它将打印出来,而您没有输入偶数。
您可以这样尝试:
public static void main(String[] args) {
isevennumber(1, 5);
}
public static void isevennumber(int startwith, int endwith) {
List<Integer> evenNumbers = new ArrayList();
for (int i = startwith; i <= endwith; i++) {
if (i % 2 == 0) {
evenNumbers.add(i);
}
}
if (evenNumbers.isEmpty()) {
System.out.println("you haven't entered an even number");
return;
}
System.out.println("you have entered the following even numbers " + evenNumbers);
}
这将打印出:
you have entered the following even numbers [2, 4]
if
要检查这是否是第一次迭代,只需再添加一个:
public static void isevennumber(int startwith, int endwith) {
for (int i = startwith; i <= endwith; i++) {
if (i % 2 == 0)
System.out.println("you have entered an even number which is " + i);
else if (i == startwith)
System.out.println("you haven't entered an even number");
}
}
您错过了一个步骤,这里的问题是每次循环中数字不是奇数时,它都会打印您没有输入偶数。
以下是适合您的正确解决方案。
public static void isevennumber(int startwith, int endwith) {
for (int i = startwith; i <= endwith; i++)
{
if (i % 2 == 0)
{
System.out.println("you have entered an even number which is " + i);
}
else if (i == startwith)
{
System.out.println("you haven't entered an even number");
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.