Java 如何在不使用n数组和任何库函数的情况下反转数字?
我想在不使用数组的情况下反转一个数字。我想知道如何保存该数字。我认为在这一步中,我还需要知道该数字是一位数还是两位数等 下面是我所做的代码 @编辑 我用下面的方法解决了这个问题Java 如何在不使用n数组和任何库函数的情况下反转数字?,java,Java,我想在不使用数组的情况下反转一个数字。我想知道如何保存该数字。我认为在这一步中,我还需要知道该数字是一位数还是两位数等 下面是我所做的代码 @编辑 我用下面的方法解决了这个问题 public class ReverseNumber { public static void main(String[] args) { ReverseNumber obj = new ReverseNumber(); int result = obj.reverse(2199); Sy
public class ReverseNumber
{
public static void main(String[] args)
{
ReverseNumber obj = new ReverseNumber();
int result = obj.reverse(2199);
System.out.println(result);
}
public int reverse(int num)
{
int rnum1=0;
for(int i=num;i!=0;)
{
rnum1=(rnum1*10)+(i%10);
i=i/10;
// write your code here
}
return rnum1;
}
}
@Parker_Halo提供了一个优秀的迭代解决方案。我在这里添加了一个完整性递归解决方案:
public static int reverse(int number, int n) {
if (number == 0)
return n;
return reverse(number / 10, n * 10 + number % 10);
}
你可以这样称呼它:
int rev = reverse(num, 0);
@Parker_Halo提供了一个优秀的迭代解决方案。我在这里添加了一个完整性递归解决方案:
public static int reverse(int number, int n) {
if (number == 0)
return n;
return reverse(number / 10, n * 10 + number % 10);
}
你可以这样称呼它:
int rev = reverse(num, 0);
你差点就成功了!您只缺少需要将
num1
与10相乘的部分,选择循环有点不吉利:
public static int reverse(int num) {
int input = num;
int num1 = 0;
while (input>0) {
num1 = num1 * 10;
num1 = num1 + input%10;
input = input / 10;
}
return num1;
}
编辑:在执行过程中出错。。。现在它修好了你差点就把它修好了!您只缺少需要将
num1
与10相乘的部分,选择循环有点不吉利:
public static int reverse(int num) {
int input = num;
int num1 = 0;
while (input>0) {
num1 = num1 * 10;
num1 = num1 + input%10;
input = input / 10;
}
return num1;
}
编辑:在执行过程中出错。。。现在已经解决了学校或面试问题?将数字转换为字符串,然后向后迭代字符串中的字符。@ManosNikolaidis Yes可能是,先生。@为什么会有反对票。我试着尽我所能进行编码。@Jasonarora在示例代码中,当你有4个数字时,你怎么能说最大位数是2?学校或面试问题?将数字转换为字符串,然后向后迭代字符串中的字符。@ManosNikolaidis Yes可能是,先生。@为什么会有反对票。我试着尽我所能进行编码。@Jasonarra在示例代码中,当你有4位时,你怎么能说最大位数是2位呢?103的数字是多少?我得到的是40位,而不是301位。我就是这样做的。10*3+10正如我所说的得到十=10和一=3。@ManosNikolaidis我想他误解了你在评论部分的问题;)@ManosNikolaidis这真的很好!明天我将+1,因为我今天没有选票了@ManosNikolaidis是的,非常好。不能投票,但当我获得特权时会投票。103的数字是多少?我得到40而不是301。我就是这样做的。10*3+10,因为我得到十=10和一=3。@ManosNikolaidis我想他误解了你在评论部分的问题;)@ManosNikolaidis这真的很好!明天我将+1,因为我今天没有选票了@Manosnikolaid是的,非常好。我不能投票,但当我获得特权时会投票。