2011-10-12 63 views
-1

的輸入方法如下:輸入整數,然後輸入雙精度整數值,然後調用您的靜態void reverse(long i)方法。 void reverse(long i)方法反向顯示以換行符結尾的整數。輸入整數並翻倍後的反向數字

我需要幫助扭轉整數。我想我有正確的代碼的其餘部分。但是,如果我錯了,請糾正我。

import java.util.Scanner; 

public class Exercise5_3M { 
    public static void reverse(String[] args) { 
    Scanner input = new Scanner(System.in); 

    //input an integer 
    int num= input.nextInt(); 
    int result=0; 

    //Double the intger 
    while(num>0){ 
    result= num *2; 

     } 


System.out.print(result); 
    } 
} 

回答

0

在首先你需要void reverse(long i),而不是void reverse(String[] args) 在第二

while(num>0){ 
    result= num *2; 
} 

永遠不會結束,因爲NUM永遠不會改變

+0

如果你認爲沒有理由有一段時間。它只會加倍。 –

+0

mhm,這很奇怪。我曾嘗試過 - 輸入反向(長我),它給了我一個編譯錯誤。也許我改變了一些東西,但沒有意識到。謝謝!要試圖弄清楚第二部分。我不是說在我的代碼中,數字大於零,結果等於數字乘以二。它如何永不結束? – user972077

+0

@ user972077執行while循環體,直到條件不再爲真(或者換句話說,它在條件爲真時執行 - 因此是while循環)。如果num的值永不改變,那麼對於任何大於0的輸入,該條件總是爲真,因此主體將被簡單地重複執行。這就是所謂的無限循環。 –

0

你的方法應該被稱爲「主」當您要執行它開始。 第二,當你輸入一個正數時,你創建了一個無限循環。負數始終返回0. 第三,您沒有稱爲反轉(long i)的方法。 第四次邊界檢查。只有正數還是負數?

對於一個提示:你可以通過多種方式扭轉它。將您的號碼轉換爲字符串或字符數組並將其反轉。或者你想看看mod運算符「%」。

+0

我理解這些概念,但是當我試圖寫出這些概念時,我經常會遇到編譯錯誤。我在概念上理解java-但是,真的很難將它放入代碼中! – user972077