2014-05-16 35 views
0

這是我的代碼: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();  



} 
} 

的,如果在分頻功能迴路只得到once.It應完全執行到的number.I的位數我只是想執行將整數轉換爲數組。

+0

調試器是你的朋友。 –

+0

'divide'中的'if'塊(似乎沒有正確命名)只會提取'e'的最後一個數字。 – rgettman

+1

「_除法函數中的for循環_」除法函數中沒有for循環。 – csmckelvey

回答

1

它不重複,因爲你有一個if(e> 0)。

也許它應該是一段時間(e> 0)?

1

如果只評估一次,然後繼續執行其餘代碼。同時將繼續處理代碼,直到條件爲假。

將您的if更改爲while

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

但是注意,當前的代碼會顯示您的整數向後