【发布时间】:2014-02-21 15:38:47
【问题描述】:
我想使用递归将 String 输入转换为 int。这是我想出的代码,但如果我输入的是 123456,它只会返回 124。如果我输入 1234567,则会出错。
import java.util.*;
public class Problem1 {
static int x =0;
static int counter = 0;
//input
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
String s= scan.nextLine();
System.out.println(recursive(s));
}
//recursive method
public static int recursive(String s){
if(s.length()==1){
x=(x*10)+ Integer.parseInt(s.substring(0,1));
return x;
}
else{
x = (x*10)+Integer.parseInt(s.substring(0,1));
counter++;
return recursive(s.substring(counter,s.length()-1));
}
}
}
【问题讨论】:
-
您的 o/p 期望什么?为什么要乘以 10?