Java 使用带有嵌套if语句的for循环中的Scanner类新建|双输出
我是一个非常新的编码和需要一些帮助,我真的卡住了,环顾四周,但无法找到确切的我做错了什么,所以搜索是不可能的 我有一个实验室,你要求用户输入一个整数,但是 ,读取第一个整数后,我必须使用字符串或字符询问用户是否要输入另一个整数。如果用户输入“N”,则将跳过并结束程序。如果用户输入“Y”,他们将输入另一个整数,它将跟踪该整数是偶数还是奇数,依此类推,直到用户输入“N”,并在末尾显示输入的偶数或奇数的总数。我以一种独特的方式尝试了这一点,我认为,很可能不是以一种非常“整洁”的方式。输出结果通常如下所示: 是否要输入一个整数?: 对 输入一个整数: 7. 7是奇怪的! 是否有其他整数要输入Y/N?: Y 是否有其他整数要输入Y/N?: 输入一个整数: 6. 6是偶数! 是否有其他整数要输入Y/N?: N 是否有其他整数要输入Y/N?: 奇数:1 偶数:1 我只是一直在想你也想要。。。我不知道该怎么解释我真的希望我不是含糊不清的谢谢你Java 使用带有嵌套if语句的for循环中的Scanner类新建|双输出,java,for-loop,java.util.scanner,Java,For Loop,Java.util.scanner,我是一个非常新的编码和需要一些帮助,我真的卡住了,环顾四周,但无法找到确切的我做错了什么,所以搜索是不可能的 我有一个实验室,你要求用户输入一个整数,但是 ,读取第一个整数后,我必须使用字符串或字符询问用户是否要输入另一个整数。如果用户输入“N”,则将跳过并结束程序。如果用户输入“Y”,他们将输入另一个整数,它将跟踪该整数是偶数还是奇数,依此类推,直到用户输入“N”,并在末尾显示输入的偶数或奇数的总数。我以一种独特的方式尝试了这一点,我认为,很可能不是以一种非常“整洁”的方式。输出结果通常如下所
String Y = " ";
int integer = 0;
int even = 0;
int odd = 0;
int x = 0;
int b = 0;
System.out.println("Would you like to enter an integer?: ");
yes = in.nextLine();
if(yes.equals("yes") || yes.equals("yes"))
{
System.out.println("Enter an integer: ");
integer = in.nextInt();
if((integer % 2)==0||(integer ==0))
{
System.out.println(integer+ " is Even!");
even++;
}
else if((integer %1)==0)
{
System.out.println(integer+ " is Odd!");
odd++;
}
x = 10;
for(int i = 5; i <= x; i++)
{
Y = in.nextLine();
System.out.println("Do you have another integer to enter (Y/N)?: ");
if(Y.equals("Y"))
{
b = 1;
if(b == 1)
{
x = 10;
b = 0;
System.out.println("Enter an integer: ");
integer = in.nextInt();
if((integer % 2)==0||(integer ==0))
{
System.out.println(integer+ " is Even!");
even++;
}
else if((integer %1)==0)
{
System.out.println(integer+ " is Odd!");
odd++;
}
}
}
else if(Y.equals("N"))
{
Y = "N";
x = 0;
}
}
System.out.println("Odd numbers: "+odd);
System.out.println("Even numbers: "+even);
}
}
让我们把你的代码分解一下,也许你可以看到这里出了什么问题。如果您只是逐行阅读代码,您自己就会看到其中的大部分内容。似乎您需要了解循环,特别是对于这个任务,while循环 其次,要计算等于奇数或偶数的整数数,请使用计数器。在本网站或谷歌上搜索大量资源 我的所有评论都指出了代码的一些明显缺陷:
String Y = " ";
int integer = 0;
int even = 0;
int odd = 0;
int x = 0;
int b = 0;
// no main method
//Specify what the user input should be to continue or to exit
//your program in the first question, not later on. They have no idea
//what word you are expecting them to type. What if they entered
//"sure" or "yep" or "nah"
System.out.println("Would you like to enter an integer?: ");
//This needs to be declared.
yes =in.nextLine();
//At this point, you have no way to exit the program because you have not utilized any
//sort of loop. A while loop would work great here.
// this if statement makes no sense and is redundant
if(yes.equals("yes")||yes.equals("yes"))
{
System.out.println("Enter an integer: ");
integer = in.nextInt();
if ((integer % 2) == 0 || (integer == 0)) {
System.out.println(integer + " is Even!");
even++;
} else if ((integer % 1) == 0) {
System.out.println(integer + " is Odd!");
odd++;
}
//Why is int x even here? What is its purpose?
x = 10;
//Again, what is this for loop for?
for (int i = 5; i <= x; i++) {
//This entire section doesn't need to be here. Use a loop.
/*
Y = in.nextLine();
System.out.println("Do you have another integer to enter (Y/N)?: ");
if (Y.equals("Y")) {
b = 1;
if (b == 1) {
x = 10;
b = 0;
System.out.println("Enter an integer: ");
integer = in.nextInt();
if ((integer % 2) == 0 || (integer == 0)) {
System.out.println(integer + " is Even!");
even++;
} else if ((integer % 1) == 0) {
System.out.println(integer + " is Odd!");
odd++;
}
}
} else if (Y.equals("N")) {
Y = "N";
x = 0;
}
}*/
System.out.println("Odd numbers: " + odd);
System.out.println("Even numbers: " + even);
}
}以下是一个简单的例子,我认为您正在寻找:
public static void main(String[] args) {
System.out.println("Would you like to enter an integer");
Scanner s = new Scanner(System.in);
String ans;
int odd = 0, even = 0, num;
boolean b = true;
while (b) {
ans = s.next();
if (ans.equalsIgnoreCase("yes")) {
System.out.println("Please enter an integer");
num = s.nextInt();
if (num % 2 == 0) {
even++;
} else if (num % 1 == 0) {
odd++;
}
System.out.println("Do you have another integer to enter");
} else {
b = false;
}
}
System.out.println("Odd: " + odd + " Even: " + even);
}
但是,您需要将它整理好,以完全符合您的需要。我读了这篇文章,立即停止阅读。这是严重的吗?Ifies.equalsyes | | | yes.equalsyes在问题中,而不是在注释中指出这一点,然后重新阅读代码。如果你编写了无意义的代码,你很可能会得到这样的结果:else ifY.equalsN{Y=N;x=0;}Y=N有什么用;你有空吗?