Java循环执行错误

时间:2014-05-16 18:11:24

标签: java

这是我的代码:

import java.io.*;
import java.util.*;
class comp
{
int a,b,i,k,l;
comp()
{

    Scanner s=new Scanner(System.in);
    System.out.println("Enter the number");
    a=s.nextInt();
    b=s.nextInt();
    divide(a,b);

}
public void display(int[] b)
{
    for(i=0;i<b.length;i++)
        System.out.println(b[i]);
}
public void divide(int e,int f)
{
    int[] st=new int[20];
    //System.out.println(e);
    i=0;

    if(e>0)
    {
        l=e%10;
        e=e/10;
        st[i]=l;
        i++;

    }
    this.display(st);

    //return st;

}



}
class km extends comp
{
public static void main(String args[])
{
    km m=new km();      



}
}

除法函数中的if循环只执行一次。它应该完全执行数字的位数。我只是想将整数转换为数组。

2 个答案:

答案 0 :(得分:1)

不会重复,因为你有一个if(e> 0)。

也许它应该是一段时间(e> 0)?

答案 1 :(得分:1)

如果只评估一次,则转到其余代码。 while将继续处理代码,直到条件为假。

将您的if更改为while

while(e>0)
{
    l=e%10;
    e=e/10;
    st[i]=l;
    i++;
}

但请注意,您当前的代码将向后显示您的整数