无法更改我的循环中的变量值

问题描述:

我从来没有做过循环,必须为一个项目。 以下是我有:无法更改我的循环中的变量值

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”,它只是改变了一天的价值。

人口从未改变。有人可以告诉我我的错误吗?

+1

这与整数除法做。 'dailyPopInc/100'将导致'0',除非'dailyPopInc> = 100',因为小数部分被丢弃。 – Jyr

+0

您的脚本正在编译并返回一些内容。我们必须猜测的其他一切,因为我们不知道它应该做什么。添加您输入的值可能会有所帮助,并且您的预期输出。 – angabriel

修改这些行:

double population = kb.nextInt(); 
population= population + population*(dailyPopInc/100.0); 

这是因为dailyPopInc/100作为一个整数始终为0。

+0

如何使输出成为整数。你说的刚刚工作了它的小数点 –

+1

'System.out.println(“当天的人口数量+ k +”是“+ Math.round(人口));'' – Jyr