我需要编写一个程序来接收用户发送的数字,使用 user=define 方法反转该数字,然后以整数形式返回该数字。以下是我到目前为止所拥有的。我想看看是否可以从数组中取出每个单独的数字,并以某种方式将它们组合在一起作为一个整数。我需要将它们作为字符串放在一起,然后将其转换为整数吗?还是有更简单的方法来做到这一点?
import java.util.*;
public class UserDefinedMethods
{
static Scanner keyboard = new Scanner(System.in);
public static int reverseDigits(int num)
{
int reverse[];
int i = 0;
int out = 0;
do
{
if (num < 0)
num = (num * -1);
reverse[i] = num % 10;
num = num/10;
i++;
}
while (num > 0);
out =
return reverse; //HERE IS MY PROBLEM I BELEIVE.
}
public static void main(String[] args)
{
int number = 0;
int output = 0;
System.out.println("Please enter a number:");
number = keyboard.nextInt();
output = reverseDigits(number);
System.out.println(output);
}
}
最佳答案
反转 int
可以按如下方式完成:
- 将
结果
设置为零。 - 如果数字为零,则返回到目前为止的结果
- 向结果添加尾随零
- 用原始数字的最后一位数字替换尾随零
- 删除原始号码的最后一位数字
- 转到第 2 步。
以下是如何在 Java 中执行选定的操作:
- 要获取最后一位数字,请使用
int lastDigit = number % 10;
- 要删除最后一位数字,请使用
number/= 10;
- 要添加零作为结果的最后一位数字,请使用
result *= 10;
- 要替换尾随最后一位数字,请使用
result += lastDigit;
关于java - 将整数数组转换为一个长整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34969250/