Java 如何从do while循环中检索变量值

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

我是一名Java初学者,正在为一门课程做一个策划项目

我有个问题。我想检索
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)