gpt4 book ai didi

java - 在 Java 中分解数字 - 家庭作业

转载 作者:搜寻专家 更新时间:2023-10-31 19:55:45 25 4
gpt4 key购买 nike

正如本论坛上提出的其他几个问题,您将如何找到一个数的因数。

注意:我试图理解其他人写的内容,请不要重复已经给出的答案

我的代码现在有效,但是,例如数字 6 返回:6.0 除以 1.0 是 6.0006.0 除以 2.0 是 3.0006.0 除以 3.0 是 2.0006.0 除以 4.0 是 1.5006.0 除以 5.0 是 1.2006.0 除以 6.0 是 1.000

有没有办法去掉所有的小数?我想到了“for”语句,但我真的不知道如何使用它们。

当前代码:

public class Factoring {

public static void main(String[] args) {
double input;
double factor = 1;
double factorNum;

System.out.println("This application calculates every factor of a given number!"
+ "\nPlease enter a number: ");
input = TextIO.getlnDouble();

System.out.println("Original Number: " + input);

while (input >= factor){
factorNum = input / factor;

System.out.print("\n" + input + " factored by " + factor + " is ");
System.out.printf("%.3f", factorNum);
factor++;
}
}

}

最佳答案

使用 int 代替 double。当您使用 doublefloat 时,您会得到小数。

所以你的这个:

    double input;
double factor = 1;
double factorNum;

应该是:

    int input;
int factor = 1;
int factorNum;

中南合作中心

public class Factoring {
public static void main(String[] args) {
int number = 15;
int factorNumber = 1;

while(factorNumber <= number){
if(number % factorNumber == 0){
System.out.println(factorNumber + " is a factor of " + number);
}
factorNumber ++;
}
}
}

结果:

1 is a factor of 15
3 is a factor of 15
5 is a factor of 15
15 is a factor of 15

解释

考虑将数字 15 除以 2,就像您在数学课上所做的那样。

15 = 2 * 7.5 + 0。你的商是:7.5
在编程中7.5和7是不同的。一个是 float 另一个是我们所说的整数整数

要存储 float ,使用floatdouble 数据类型。他们保留小数点后的数字。
另一方面,intlong 用于整数,因此它们不保留小数点后的数字。他们不围捕他们;他们截断它。

试试这个:

double withDecimals = 7.5d;
int withoutDecimals = 7.5d;

并打印出来。
看到区别了吗?

关于java - 在 Java 中分解数字 - 家庭作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com