注意:(我不需要任何人为我编写整个程序,我只需要算法!)
我需要创建一个程序,提示用户输入两个整数。然后程序需要列出两个输入整数之间的所有偶数并输出总和。然后是奇数的相同。 (使用While循环)
然后我需要重写代码以使用do-while循环,然后使用for循环重写它。
以下是结果应如下所示的示例:
Enter an integer: 3
Enter another integer larger than the first: 10
Even Numbers: 4, 6, 8, 10
Sum of even numbers = 28
Odd Numbers: 3, 5, 7, 9
Sum of odd numbers = 24}
我尝试使用类似这样的偶数开始,但它只是卡在第一个数字上,即使第一个数字是偶数。
import java.util.Scanner;
public class EvenOddSum_While {
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter a number: ");
int num1 = keyboard.nextInt();
System.out.println("And another: ");
int num2 = keyboard.nextInt();
while (num1 < num2){
while (num1 %2 == 0){
System.out.print(num1 + ", ");
num1++;
}
}
}
}
答案 0 :(得分:0)
内在的时候没有结束标准,你需要的话。此外,您的num1 ++语句必须位于外部while循环中,而不是内部循环。
此外,这里没有真正的算法,你正在与语言本身挣扎;)
一般建议:使用逐步调试器运行代码,几乎每个IDE都有一个OR在代码中放置过多的log /System.out.println语句,以了解它在做什么
答案 1 :(得分:0)
当你说“介于两者之间”时,你的意思是包含两个整数吗?因为你确实包含了它们。好的。这样做。
int x = 0;
int y = 0;
int even = 0;
int odd = 0;
int evenx = 0;
int oddx = 0;
int evena = 0;
int odda = 0;
Scanner scan = new Scanner(System.in);
//Prompts the user to input the first number
x = scan.nextInt();
//Prompts the user to input the second number
y = scan.nextInt();
for(int i = x;i<y;i++,x++;){
if(x%2 = 0){
even = even + x;
evenx++;
}
if(x%2 = 1){
odd = odd + x;
oddx++;
}
}
evena = even/evenx;
odda = odd/oddx;
//print it out. There. The algorithm.
神。这个网站有自动格式吗?