gpt4 book ai didi

java - 是什么导致我的结果打印结果与应有的相反?

转载 作者:行者123 更新时间:2023-12-01 05:02:43 24 4
gpt4 key购买 nike

这是我针对 while/do-while 循环进行的这组实验的最后一个实验,除了打印结果与应有的结果完全相反之外,我已经弄清楚了一切。

public class TenToAny
{
private int base10;
private int newBase;

public TenToAny()
{

}

public TenToAny(int ten, int base)
{
base10 = ten;
newBase = base;
}

public void setNums(int ten, int base)
{
base10 = ten;
newBase = base;
}
public String getNewNum()
{
String newNum="";
int orig = base10;

while(orig > 0)
{
newNum = orig%newBase + newNum;
orig = orig/newBase;
}
return newNum;
}

public String toString()
{
String complete = base10 + " base 10 is " + getNewNum() + " in base " + newBase;

return complete;
}


}

这就是我的结果:

234 base 10 is 280 in base 9

100 base 10 is 1100100 in base 2

这些是前两个值的预期结果(以 9 为基数的 234 和二进制的 100)

这是我得到的:

234 base 10 is 082 in base 9

100 base 10 is 0010011 in base 2

最佳答案

您只需添加 newNum 的末尾,而不是添加到前面。

newNum = newNum + orig%newBase;

...应该是...

newNum = orig%newBase + newNum;

对于角色...

orig%newBase > 9时,则char(55 + orig%newBase)

var nextValue = orig % newBase;

if (nextValue > 9)
{
newNum = char(55 + nextValue) + newNum;
}
else
{
newNum = nextValue + newNum;
}

关于java - 是什么导致我的结果打印结果与应有的相反?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13186484/

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