【发布时间】:2013-03-06 16:55:55
【问题描述】:
这是我要解决的问题。
“墨西哥人口6200万,年增长率7%。美国目前人口2.8亿,年增长率2%。如果这两个国家保持现在的速度增长,多少年后墨西哥的人口将超过美国的一半?你的程序应该回答这个问题。”
好的,这就是我目前的代码。当我运行程序时,我得到了这个错误。
不确定如何解决。任何人都可以帮忙吗? :/
import java.util.Scanner;
public class Whatever {
public static void main (String [] args){
Scanner in = new Scanner (System.in);
int mex = 62000000;
int usa = 280000000;
int years = 0;
double t = 0 ;
while(mex(Math.pow(1.07, t)) <= usa(Math.pow(1.02, t)))
{
t++;
years = t;
if (mex > (usa * 0.5));
break;
}
System.out.println ("Mexicos population is half of America in " + years + "years");
}
}
编辑
对于任何想知道我最终让代码工作的人。这是代码。
导入 java.util.Scanner;
公共类随便{
public static void main(String [] args){
Scanner scan = new Scanner (System.in);
double mex = 62000000;
double usa = 280000000;
double years = 0;
while(mex <= usa/2)
{
years++;
mex = mex * 1.07;
usa = usa * 1.02;
}
System.out.println ("Mexicos population is half of America in " + years + " years ");
}
}
【问题讨论】:
-
mex和usa应该是什么? (在你的while循环条件下) -
供将来参考 - 我们不希望将错误作为屏幕截图。请将输出复制/粘贴到您的问题中,并确保格式可以接受。
-
如果您不知道如何从命令提示符复制文本,一种方法是右键单击窗口 -> 标记。然后突出显示文本并再次在窗口中单击鼠标右键进行复制。
-
mex = 墨西哥人口 usa = 美国人口
-
您没有跟踪人口增长。你的
mex和usa永远不会改变,所以你一直在比较相同的值。
标签: java loops while-loop percentage