gpt4 book ai didi

java - 简单的 Java 代码未按预期工作

转载 作者:行者123 更新时间:2023-11-30 07:02:51 24 4
gpt4 key购买 nike

我是一名新手程序员,刚刚学习如何使用递归。抱歉,如果我的问题非常基本,但我想知道为什么我的代码输出额外的值。我已经多次运行该代码,并且它输出了额外的值。代码的要点是获取“Pi”并获取数字并“x2”它。所以,3.1415 = 6 2 8 2 10。我得到的输出如下,感谢您的帮助!

public class printPi
{
static int x = 1;
static double pi = .314159265359;
public static void main(String[] args)
{
piPrinter(pi);
}
public static void piPrinter(double pi01)
{

if(x!=0)
{
pi = pi*10;
x = (int)(pi%10);
x=x*2;
System.out.println(x);
piPrinter(pi);
}
else
System.out.println("done.");

}

}

我的输出:

6
2
8
2
10
18
4
12
10
6
10
16
18
18
18
18
12
12
12
0

完成。(每个#之间有新行)

最佳答案

尝试仅计算点左侧的数字,并在 println 之后“删除”它。

像这样:

public class printPi
{

public static void main(String[] args)
{
double pi = 3.14159265359;
piPrinter(pi);
}
public static void piPrinter(double pi01)
{

if ((int) pi01 != 0) {

System.out.println((int) pi01 * 2);
piPrinter((pi01 - (int) pi01) * 10);

} else {
System.out.println("done.");
}

}
}

关于java - 简单的 Java 代码未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40601813/

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