Java 如何从do while循环中检索变量值
我是一名Java初学者,正在为一门课程做一个策划项目 我有个问题。我想检索Java 如何从do while循环中检索变量值,java,Java,我是一名Java初学者,正在为一门课程做一个策划项目 我有个问题。我想检索leftDigit的值,并将其放入数组guess[4]。但我不知道如何在循环之外检索它 比如说,当我输入数字1234时,我希望它变成int[]guess={1,2,3,4} ` 发布的解决方案是可行的,但是有一些事情是不必要的。这是代码,我将在下面解释: int count = 1000; // notice I start at 1000, not 10_000 int[] gues
leftDigit
的值,并将其放入数组guess[4]
。但我不知道如何在循环之外检索它
比如说,当我输入数字1234时,我希望它变成int[]guess={1,2,3,4}代码>
`
发布的解决方案是可行的,但是有一些事情是不必要的。这是代码,我将在下面解释:
int count = 1000; // notice I start at 1000, not 10_000
int[] guess = new int[4];
int i = 0;
do {
guess[i++] = number / count; // (1)
number %= count; // (2)
count /= 10;
} while (count != 1)
(1):因为number和count都是int类型的,所以结果将不是浮点数,也不会向上取整。它只会截断浮动部分。例如:8/3==2;543/1000==0
(2):此行将获得除法的剩余部分。例如:16%5=1;1043 % 1000 = 43. (写这行的另一种方法是number=number%count
)。没有跟上你。你怎么回事啊?leftDigit在循环范围之外可用,因此您可以正常分配它。或者你想在某个时候使用break
来摆脱循环吗?考虑到家庭作业
标签,如果你能解释一下你在做什么,你改变了什么,它与OP的解决方案有什么不同,那就更好了。谢谢你,尼廷·切赫!非常感谢你!
int [] guess = new int[4];
int i = 0;
//finding the left digit
do{
tempNum = (double) number / count ;
leftDigit = (int) (tempNum * 10) ;
guess[i++] = leftDigit;
count /=10;
number = number - ( count * leftDigit);
} while (count != 1 );
//Use guess as you want it contains the 4 digits you need
int count = 1000; // notice I start at 1000, not 10_000
int[] guess = new int[4];
int i = 0;
do {
guess[i++] = number / count; // (1)
number %= count; // (2)
count /= 10;
} while (count != 1)