Java 添加前十个奇数-输出不正确
我正在写一个程序,把前十个奇数相加,最后求和 这是到目前为止我的代码。我的代码读取10个数字列表中的奇数。我希望我的代码能够读取10个奇数,即使输入的数字超过10个。我知道问题是Java 添加前十个奇数-输出不正确,java,loops,for-loop,Java,Loops,For Loop,我正在写一个程序,把前十个奇数相加,最后求和 这是到目前为止我的代码。我的代码读取10个数字列表中的奇数。我希望我的代码能够读取10个奇数,即使输入的数字超过10个。我知道问题是I
I<10
,这使得程序在第10个数字之后停止
import java.util.Scanner;
公开课问题14
{
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
int奇数,和=0;
System.out.println(“输入数字”);
int i=0;
而(i<10){
奇数=键盘.nextInt();
如果(奇数%2!=0){
总和=总和+奇数;
i++;
}
}
System.out.println(“前10个奇数之和为”+和);
}
}将其包装在while循环中 当oddnumbers<10时,请输入新号码
int i = 0
while(i < 10) {
odd = keyboard.nextInt();
if (odd % 2 != 0) {
sum = sum + odd;
i++;
}
}
System.out.println("The sum of first 10 odd numbers is " + sum);
inti=0
而(i<10){
奇数=键盘.nextInt();
如果(奇数%2!=0){
总和=总和+奇数;
i++;
}
}
System.out.println(“前10个奇数之和为”+和);
编辑:完整代码
导入java.util.Scanner
/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
/**
*
*@作者史蒂文格林22
*/
公共类纽曼{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner scan = new Scanner(System.in);
int i = 0;
int sum = 0;
int input;
int inputCount = 0;
while (i < 10){
//Having this inside the while loop prompts the user every time.
System.out.println("New number?");
input = scan.nextInt();
inputCount++;
if(input % 2 == 1){
sum += input;
i++;
}
}
System.out.println("sum: "+sum);
System.out.println("Number of odds:" + i);
System.out.println("Numbe of inputs: " +inputCount);
System.out.println("Average cos I miss typing sout tab:" + (inputCount/sum));
}
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
//此处的TODO代码应用程序逻辑
扫描仪扫描=新扫描仪(System.in);
int i=0;
整数和=0;
int输入;
int inputCount=0;
而(i<10){
//将其置于while循环中,每次都会提示用户。
System.out.println(“新号码?”);
输入=scan.nextInt();
inputCount++;
如果(输入%2==1){
总和+=输入;
i++;
}
}
System.out.println(“总和:+sum”);
System.out.println(“赔率:+i);
System.out.println(“输入数量:“+inputCount”);
System.out.println(“我错过键入sout选项卡的平均成本:”+(inputCount/sum));
}
}这应该行得通
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int odd,sum=0;
System.out.println("enter numbers");
int i=0;
while (i<10){
odd=keyboard.nextInt();
if (odd%2!=0){
sum=sum+odd;
i++;
}
}
System.out.println("The sum of first 10 odd numbers is "+sum);
}
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
int奇数,和=0;
System.out.println(“输入数字”);
int i=0;
while(i原则上,您不知道用户将在程序中输入多少数字,因此您希望使用while
循环,而不是for
循环
当知道需要迭代多少个元素时,选择一个for
循环;当不知道需要迭代多少个元素时,选择一个while
循环
您需要在循环外部定义另一个名为counter
的变量,并将其用作循环变量约束
while(counter < 10) {
// loop
}
while(计数器<10){
//环路
}
每当遇到奇数值时,您还需要更新计数器。只需将for循环替换为while循环,并跟踪整数中奇数的数量:
int oddNumberCount = 0;
int inputNumber;
while(oddNumberCount<10)
{
inputNumber = keyboard.nextInt();
if(inputNumber%2!=0)
{
sum = sum+inputNumber;
oddNumberCount++;
}
}
int-oddNumberCount=0;
输入整数;
while(oddnumbercount对不起,布莱恩。正在使用电话。你能帮我编辑一下吗?如果你不知道,那就是。谢谢!)非常感谢。尝试过这个,但进入后没有任何效果numbers@treasure-您需要通过添加相关的扫描行等方式对其进行一些修改。我认为其他人发布了您需要的完整代码,但从我编写的内容来看,您自己将其拼凑起来应该相对容易。您的输出是什么?输出不是ng。在我输入数字后,它不会做任何事情。解释得比我好得多:)是的,使用while循环更有意义。你的控制台输出呢?
int oddNumberCount = 0;
int inputNumber;
while(oddNumberCount<10)
{
inputNumber = keyboard.nextInt();
if(inputNumber%2!=0)
{
sum = sum+inputNumber;
oddNumberCount++;
}
}