首页 > 解决方案 > Java 计数器程序

问题描述

我正在开发一个用户提供两个数字的程序。第一个是计数器将计数到的数字。第二个是它将这样做的增量。该程序的起始数字是 1,并且应该将所有数字加在一起,从而将第一个给定数字相加。例如,用户输入数字 7 和 2。所以程序应该执行以下操作:1+3+5+7 等于 16。我无法弄清楚我的程序做错了什么。

System.out.print("Please enter your first positive number: ");
int n1 = user.nextInt();
System.out.print("Please enter your second positive number: ");
int n2 = user.nextInt();

int sum = 1;

while(sum <= n1)
{
    sum += n2;
}
System.out.println("Sum = " + sum);

标签: javacounterincrement

解决方案


目前,当您的总和超过 时,您将停止n1。对于每个循环,您添加的是n2,而不是最后一个值增加n2.

试试这个,它使用一个 for 循环来循环真实的增量值(每次迭代都会增加):

System.out.print("Please enter your first positive number: ");
int n1 = user.nextInt();
System.out.print("Please enter your second positive number: ");
int n2 = user.nextInt();

// start your sum at zero
int sum = 0;

// loop increasing the increment value until it exceeds the users input
for(int increment = 1; increment <= n1; increment += n2) {
    sum += increment;
}
System.out.println("Sum = " + sum);

推荐阅读