无法更改我的循环中的变量值
问题描述:
我从来没有做过循环,必须为一个项目。 以下是我有:无法更改我的循环中的变量值
import java.util.Scanner;
public class Population
{
public static void main (String [] args)
{
Scanner kb = new Scanner (System.in);
int dailyPopInc=-1;
System.out.print("What is the starting number of organisms? ");
int population = kb.nextInt();
if (population>1){System.out.print("What is the daily population increase as a percentage? ");
dailyPopInc= kb.nextInt();}
else System.out.println("Error");
int daysMultiplied=0;
if (dailyPopInc>=0){System.out.print("How many days will they multiply? ");
daysMultiplied= kb.nextInt();}
int k=0;
for (k=1;k<daysMultiplied;k++){
population= population + population*(dailyPopInc/100);
System.out.println("The the amount of population on day "+k+" is " + population);
}
}
}
我不断收到之类的东西 “人口的第1天的量是89”,它只是改变了一天的价值。
人口从未改变。有人可以告诉我我的错误吗?
答
修改这些行:
double population = kb.nextInt();
population= population + population*(dailyPopInc/100.0);
这是因为dailyPopInc/100作为一个整数始终为0。
+0
如何使输出成为整数。你说的刚刚工作了它的小数点 –
+1
'System.out.println(“当天的人口数量+ k +”是“+ Math.round(人口));'' – Jyr
这与整数除法做。 'dailyPopInc/100'将导致'0',除非'dailyPopInc> = 100',因为小数部分被丢弃。 – Jyr
您的脚本正在编译并返回一些内容。我们必须猜测的其他一切,因为我们不知道它应该做什么。添加您输入的值可能会有所帮助,并且您的预期输出。 – angabriel