2016-04-02 141 views
-1

我正在读取一些整数输入。第一个输入是猫和狗的种群,第二个输入是一个整数,代表该种群的狗的百分比。我试图计算出这两个整数有多少只狗和猫。将int转换为百分比或小数

dogs = population * percentage 
cats = population - dogs 

数学很容易,我有一些麻烦是使用整数来获得这些值。

输入必须以整数形式读入。

+0

你有什么困难?你的代码在哪里,你期望它做什么,它做什么呢? –

+0

@Talen对于小数点以下的数字使用int,对于具有小数的数字使用double(或float),您可以de'double num = scanner.nextInt()' – Ferrybig

+0

@RealSkeptic好主意。整数读入为40,我需要除以100.建议这是一个答案,所以我可以接受它。谢谢。 –

回答

1

如果百分比是像0.4的数,您无法读取它作为一个整数。如果是40,那么你可以阅读它 - 但那么你不能只乘以它的人口 - 你需要除以100.

记得在你成倍后分裂,否则你可能会最终与一个因为整数除法为零。 percentage/100会给你零。但population * percentage/100会给你一个合理的数字,只要人口足够大。

-2

使用扫描仪或缓冲读取器读取数据并将其放入int变量。

-1

你可以分享你用于输入的代码吗?当我要求用户输入时,我通常必须使用ParseInt函数将其字符串输入转换为数字。例如:

String Dogs = JOptionPane.showInputDialog("Please enter number of dogs"); 
Integer.parseInt(Dogs); 
System.out.println(Dogs); 

最后一行是打印出我们输入一个已经从一个字符串转换成整数,只是检查它的工作原理。 我希望这有助于!

0

好吧,你不能有一只半狗或半只猫。所以基本上你可以做这样的:

dogs = (population * percentage)/100; 
cats = (population - dogs); 

dogs和​​必须是整数。

你也可以检查,这是真的发生了什么:

if((dogs+cats)!=population) System.out.println(**error message about wrong input**);