2011-10-12 54 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