Java 编写一个程序,读取一组整数并打印偶数和奇数整数之和
这就是我目前所拥有的。我应该用一个Java 编写一个程序,读取一组整数并打印偶数和奇数整数之和,java,Java,这就是我目前所拥有的。我应该用一个For循环和if/else语句来编写这段代码,但是/我一直在思考如何正确地完成它。如果有人能告诉我如何正确使用For循环和if/else语句,而不是给出答案,那就太好了: import java.util.*; public class SumEvenOdd { public static void main(String []args) { Scanner keyboard= new Scanner(System.in);
For
循环和if/else
语句来编写这段代码,但是/我一直在思考如何正确地完成它。如果有人能告诉我如何正确使用For
循环和if/else
语句,而不是给出答案,那就太好了:
import java.util.*;
public class SumEvenOdd
{
public static void main(String []args)
{
Scanner keyboard= new Scanner(System.in);
int counter;
int i= 0;
int num=0;
int sumOdd= 0;
int sumEven= 0;
System.out.println("Enter integers other then Zero: ");
num=keyboard.nextInt();
System.out.println("The numbers you entered are: ");
for (i =num; i !=0; i=i)
{
if (i % 2 == 0)
sumEven = sumEven + i;
else
sumOdd = sumOdd + i;
i = keyboard.nextInt();
}
System.out.println("Even sum: " + sumEven);
System.out.println("Odd sum: " + sumOdd);
}
}
在应用程序中,只要不输入0,就不需要for循环,因为您正在中断循环 for循环用于迭代集合(对于每个循环)或迭代递增计数器,直到满足中断(经典for循环)
do-while(i!=0)循环在您的场景中更合适 在应用程序中,只要不输入0,就不需要for循环,因为您正在中断循环 for循环用于迭代集合(对于每个循环)或迭代递增计数器,直到满足中断(经典for循环) do-while(i!=0)循环在您的场景中更合适 您的循环从不执行,因为您的循环条件从一开始就是错误的:
for (i =num; i !=0; i=i) // i already equals 0 so i != 0 equates to false
你也不会用i=i
递增或递减,所以即使你的条件为真,你也会陷入无限循环。在for循环的每次迭代中,使用i++
将i
的值增加1
此外,您仅从用户处接收一个号码。处理这个问题的一个简单方法是,首先询问用户他们想先输入多少个数字,然后使用该输入循环多次,要求对这些数字求和。例如:
System.out.println(“您想输入多少数字?”);
num=键盘.nextInt();
int[]addthis=新int[num];//创建大小为num的数组以存储数字
for(int i=0;i
编辑
你把自己(和我)和你的书面陈述搞混了。你的程序运行得很好,但我认为你没有意识到这一点
在循环中添加类似的内容,以便您知道它正在等待输入:
if (i % 2 == 0)
sumEven = sumEven + i;
else
sumOdd = sumOdd + i;
System.out.print(": "); // <-- let the user know you're expecting more input
i = keyboard.nextInt();
if(i%2==0)
sumEven=sumEven+i;
其他的
sumOdd=sumOdd+i;
系统输出打印(“:”)// 您的循环从未执行,因为您的循环条件一开始为false:
for (i =num; i !=0; i=i) // i already equals 0 so i != 0 equates to false
你也不会用i=i
递增或递减,所以即使你的条件为真,你也会陷入无限循环。在for循环的每次迭代中,使用i++
将i
的值增加1
此外,您仅从用户处接收一个号码。处理这个问题的一个简单方法是,首先询问用户他们想先输入多少个数字,然后使用该输入循环多次,要求对这些数字求和。例如:
System.out.println(“您想输入多少数字?”);
num=键盘.nextInt();
int[]addthis=新int[num];//创建大小为num的数组以存储数字
for(int i=0;i
编辑
你把自己(和我)和你的书面陈述搞混了。你的程序运行得很好,但我认为你没有意识到这一点
在循环中添加类似的内容,以便您知道它正在等待输入:
if (i % 2 == 0)
sumEven = sumEven + i;
else
sumOdd = sumOdd + i;
System.out.print(": "); // <-- let the user know you're expecting more input
i = keyboard.nextInt();
if(i%2==0)
sumEven=sumEven+i;
其他的
sumOdd=sumOdd+i;
系统输出打印(“:”)//<代码>扫描仪输入=新扫描仪(System.in);
int-num;
int i;
int x=0;
int y=0;
System.out.print(“要输入的数字:”);
i=input.nextInt();
对于(;;){
我--;
系统输出打印(“请输入一个数字:”);
num=input.nextInt();
如果(数值%2==0){
x=x+num;
}否则{
y=y+num;
}
if(num<0){
系统输出打印(“Inivald输入”);
系统出口(0);
}
如果(i==0){
System.out.println(“偶数之和为:“+x”);
System.out.println(“奇数之和为:“+y”);
系统出口(0);
}
}
扫描仪输入=新扫描仪(System.in);
int-num;
int i;
int x=0;
int y=0;
System.out.print(“要输入的数字:”);
i=input.nextInt();
对于(;;){
我--;
系统输出打印(“请输入一个数字:”);
num=input.nextInt();
如果(数值%2==0){
x=x+num;
}否则{
y=y+num;
}
if(num<0){
系统输出打印(“Inivald输入”);
系统出口(0);
}
如果(i==0){
System.out.println(“偶数之和为:“+x”);
System.out.println(“奇数之和为:“+y”);
系统出口(0);
}
}
如果您想在while循环中找到答案
import java.util.*;
/*
解释
问题:编写一个程序,读取一组整数,并告诉偶数和奇数之和
第一:初始化4个变量(所有整数)
第二:输入并打印标题
第三:进行一个while循环,当我小于
第四:输入数字,检查条件od或偶数,然后添加数字
第五:如果输入=
*/
公务舱
{
公共静态void main(字符串[]args)
{
//初始化变量
int InputNums=0,OddNums=0,EvenNums=0,loopingVar=0,PrintAmount;
//初始化扫描程序类
扫描仪=新的扫描仪(System.in);
//使用扫描仪输入
System.out.print(“要输入的数字:”);
P
import java.util.*;
/*
EXPLANATION
Question: write a program that reads a set of integers and tells the sum of the even and odd numbers
First: Initialize 4 variables(all integers)
Second: Take input and print title
Third: Take a while loop that will run when i is smaller than a
Fourth: take inputs of the numbers and check for condition od or even and add the numbers
Fifth: Break the while loop if input =
*/
public class EvenOddSum
{
public static void main(String[]args)
{
//initializing variables
int InputNums = 0, OddNums = 0, EvenNums = 0, loopingVar = 0, PrintAmount;
//initializing scanner class
Scanner scanner = new Scanner(System.in);
//Input using Scanner
System.out.print("How many numbers you want to input: ");
PrintAmount = scanner.nextInt();
//Loop to execute if PrintAmount is bigger than or equal to The loop Variable
while(loopingVar <= PrintAmount)
{
//increase Loop Variable by 1 if it is smaller than PrintAmount
loopingVar++;
//The input which will be sorted into odd or even
System.out.print("Please input a number : ");
InputNums = scanner.nextInt();
//Conditional statements to Sort Input into Odd or even
if (InputNums % 2 == 0)
{
//store input numbers into OddNums var if it is not divisible by 2
OddNums = OddNums + InputNums;
}
else
{
//store input numbers into EvenNums var if it is divisible by 2
EvenNums = EvenNums + InputNums;
}
if(loopingVar == PrintAmount)
{
//If the loop variable is equal to the print amount the break will end the loop
break;
}
}
//if the condition is true the sums are printed and the code is stopped
if (loopingVar == PrintAmount)
{
System.out.println("Sum of even numbers is : " + OddNums);
System.out.println("Sum of odd numbers is : " + EvenNums);
System.exit(0);
}
//if InputNums is smaller than 0 there has been some error in the code
if (InputNums < 0)
{
System.out.print("Invalid input");
System.exit(0);
}
}
}