这是我试图解决的问题。
“墨西哥人口为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.扫描仪;
公共类随便{
公共静态空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 ");
}
}
在代码中,您定义了几个变量:
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)))
在Java,这些变量被用作函数的参数;而不是相反!
您的问题在于:
while(mex(Math.pow(1.07, t)) <= usa(Math.pow(1.02, t)))
在变量后面加括号表示您正试图用该名称调用函数(在本例中为mex和usa)。实际上,您要做的是将这些值相乘,因此需要在其中添加星号:
while(mex*(Math.pow(1.07, t)) <= usa*(Math.pow(1.02, t)))
mex是一个整数。
我想你是想乘数。
如果要乘法,请使用mex*(数学功率(1.07,t)。
当用户键入以下内容的答案时:system.out.println(“键入数字”); 它不会继续到我的代码的下一部分。
ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。 为什么会这样?因为我指定了在不满足任何条件的情况下分配给列的值。
我目前有一个问题,一个'而'循环不执行。如果输入文本文件有下一行,我将循环条件设置为true。然而,当我执行我的程序时,循环没有运行。我通过添加一个“System.out.println(text)”来确认这一点,正如我所怀疑的,没有产生任何文本。 什么问题导致循环无法执行?
我想写一个计算长除法问题总进位的代码。这是我为carries编写的函数。我相信问题在于,第一个while循环并没有一直运行。如果是,为什么?这是在Python 3.5中实现的。
尽管有值,但我不能得到一个用户的值的和时间。 即使用户17有工作时间值,我也会在sumTW列中得到该用户的NULL值。我该怎么解决? 这就是我的查询看起来的样子: 下面是表格代码: (这个表和原来的不一样,原来的有外键。我去掉它们只是为了能够再现同样的问题,同样的问题被报告了)。
我想我的程序跳过了while循环,但我真的不确定到底发生了什么。该函数应该通过找到GCD,然后将分子和分母除以该数字来减少分数。 我得到分子和分母的绝对值,以确保如果分数是负数,我会在最后保持它。如果分子为0,则要求我返回(0,1)。问题是关于while循环。。。似乎它被完全跳过了。有什么建议吗?