Java while循环-偶数及其平均数之和
Java while循环-偶数及其平均数之和,java,Java,代码执行,它对偶数求和。但是,当输入奇数时,它返回错误或中断。我希望它忽略任何奇数。我的代码怎么了?你继续奇数循环而不修改num-对我来说应该是无限循环。你继续奇数循环而不修改num-对我来说应该是无限循环。我是否遗漏了什么,或者,当您有一个奇数时,是否缺少一个nextInt()?因为在if中,即使您有num=scan.nextInt()。当num为奇数时,您不需要。 改变 到 当你有一个奇数时,是我遗漏了什么,还是你遗漏了一个nextInt()?因为在if中,即使您有num=scan.next
代码执行,它对偶数求和。但是,当输入奇数时,它返回错误或中断。我希望它忽略任何奇数。我的代码怎么了?你
继续
奇数循环而不修改num
-对我来说应该是无限循环。你继续
奇数循环而不修改num
-对我来说应该是无限循环。我是否遗漏了什么,或者,当您有一个奇数时,是否缺少一个nextInt()
?因为在if中,即使您有num=scan.nextInt()代码>。当num为奇数时,您不需要。
改变
到
当你有一个奇数时,是我遗漏了什么,还是你遗漏了一个nextInt()
?因为在if中,即使您有num=scan.nextInt()代码>。当num为奇数时,您不需要。
改变
到
改为:
package javaapplication9;
import java.text.DecimalFormat;
import java.util.Scanner;
public class JavaApplication9 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
{
int sum = 0, num, count = 0;
double average;
Scanner scan = new Scanner(System.in);
System.out.print("Enter an integer (0 to quit): ");
num = scan.nextInt();
while (num >= 0) // sentinel num of 0 to terminate loop
{
if (num % 2 == 0)
{
count++;
sum += num;
System.out.println("The sum so far is " + sum);
System.out.print("Enter an integer (0 to quit): ");
num = scan.nextInt();
if (count == 0) {
System.out.println("No nums were entered.");
} else {
average = (double) sum / count;
DecimalFormat fmt = new DecimalFormat("0.###");
System.out.println("The average is " + fmt.format(average));
}
}
num = scan.nextInt();
}
}
改为:
package javaapplication9;
import java.text.DecimalFormat;
import java.util.Scanner;
public class JavaApplication9 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
{
int sum = 0, num, count = 0;
double average;
Scanner scan = new Scanner(System.in);
System.out.print("Enter an integer (0 to quit): ");
num = scan.nextInt();
while (num >= 0) // sentinel num of 0 to terminate loop
{
if (num % 2 == 0)
{
count++;
sum += num;
System.out.println("The sum so far is " + sum);
System.out.print("Enter an integer (0 to quit): ");
num = scan.nextInt();
if (count == 0) {
System.out.println("No nums were entered.");
} else {
average = (double) sum / count;
DecimalFormat fmt = new DecimalFormat("0.###");
System.out.println("The average is " + fmt.format(average));
}
}
num = scan.nextInt();
}
}
在continue语句之前添加以下代码。我希望它能正常工作
System.out.print("Enter an integer (0 to quit): ");
num = scan.nextInt();
在continue语句之前添加以下代码。我希望它能正常工作
System.out.print("Enter an integer (0 to quit): ");
num = scan.nextInt();
试试这个。我不太确定何时要打印平均值,如果要在最后打印,可以将其移出while循环
public static void main(String[] args) {
// TODO code application logic here
{
int sum = 0, num, count = 0;
double average;
Scanner scan = new Scanner(System.in);
System.out.print("Enter an integer (0 to quit): ");
while ((num = scan.nextInt())> 0) // sentinel num of 0 to terminate loop
{
if (num % 2 == 0){
count++;
sum += num;
System.out.println("The sum so far is " + sum);
if (count == 0) {
System.out.println("No nums were entered.");
} else {
average = (double) sum / count;
DecimalFormat fmt = new DecimalFormat("0.###");
System.out.println("The average is " + fmt.format(average));
}
}
System.out.print("Enter an integer (0 to quit): ");
}
System.out.println("end");
}
}
试试这个。我不太确定何时要打印平均值,如果要在最后打印,可以将其移出while循环
public static void main(String[] args) {
// TODO code application logic here
{
int sum = 0, num, count = 0;
double average;
Scanner scan = new Scanner(System.in);
System.out.print("Enter an integer (0 to quit): ");
while ((num = scan.nextInt())> 0) // sentinel num of 0 to terminate loop
{
if (num % 2 == 0){
count++;
sum += num;
System.out.println("The sum so far is " + sum);
if (count == 0) {
System.out.println("No nums were entered.");
} else {
average = (double) sum / count;
DecimalFormat fmt = new DecimalFormat("0.###");
System.out.println("The average is " + fmt.format(average));
}
}
System.out.print("Enter an integer (0 to quit): ");
}
System.out.println("end");
}
}
“它返回一个错误”。为什么呢有例外吗?或者,在错误情况下,程序的输出是什么?顺便说一下,您的代码示例中缺少一个括号,它不会以这种方式编译-是否应该在System.out.println()之前有一个括号代码>?“它返回一个错误”。为什么呢有例外吗?或者,在错误情况下,程序的输出是什么?顺便说一下,您的代码示例中缺少一个括号,它不会以这种方式编译-是否应该在System.out.println()之前有一个括号代码>?不。这些项目不起作用。我试过了。即使我将else if(num%2!=0){continue;}添加到else if(num%2!=0){num=scan.nextInt();continue;}中,您的continue
会将您直接返回while循环的顶部。否。那些东西不行。我试过了。即使我将else if(num%2!=0){continue;}添加到else if(num%2!=0){num=scan.nextInt();continue;}您的continue
会将您直接返回while循环的顶部。如果一个数字是奇数,我希望它忽略奇数并继续。最后,我希望它只对偶数求和。尝试在if语句之前打印数字。。。然后你会看到号码没有被加上。。。或者将num=scan.nextInt()从else if部分中删除到“while”语句之后。不管是谁,请确保调用了这个过程(nextInt),否则本质上会有一个while(true)循环。如果一个数字是奇数,我希望它忽略奇数并继续。最后,我希望它只对偶数求和。尝试在if语句之前打印数字。。。然后你会看到号码没有被加上。。。或者将num=scan.nextInt()从else if部分中删除到“while”语句之后。不管是谁,请确保调用了这个过程(nextInt),否则本质上会有一个while(true)循环实际上我希望它是一个无限循环,直到用户输入一个负数为止。当您输入奇数时,它将中断:(用你的代码。它只是给你一个平均值。实际上我希望它是一个无限循环,直到用户输入一个负数。当你输入一个奇数时,它就会中断。)(用你的代码。它只是给你一个平均值。