我有像
这样的输入String s = "6" , ss="99 , sss = "99999";
我需要将这些值存储在int引用变量中, 不使用Integer.parseInt
有什么建议吗? ,没有完整的代码,只是提示??
答案 0 :(得分:1)
Scanner怎么样?
int a=new Scanner(s).nextInt();
没有util。
public static int parseInt(String s)
{
int ans=0;
for(int i=s.length()-1;i>=0;i--)
{
ans+=(s.charAt(i)-'0');
ans*=10;
}
return ans/10;
}
答案 1 :(得分:1)
public class MyStringToNumber {
public static int convert_String_To_Number(String numStr){
char ch[] = numStr.toCharArray();
int sum = 0;
//get ascii value for zero
int zeroAscii = (int)'0';
for(char c:ch){
int tmpAscii = (int)c;
sum = (sum*10)+(tmpAscii-zeroAscii);
}
return sum;
}
public static void main(String a[]){
System.out.println("\"3256\" == "+convert_String_To_Number("3256"));
System.out.println("\"76289\" == "+convert_String_To_Number("76289"));
System.out.println("\"90087\" == "+convert_String_To_Number("90087"));
}
}
请参阅this URL。
答案 2 :(得分:0)
尝试从字符串中获取每个char,然后获取每个char的值。 0的值为48,所以
char c = '9';
int i = c - 48;
现在i = 9
。之后,您只需要将此值乘以适当的10的幂,并将其添加到总数
答案 3 :(得分:0)
public class ConvertIntoInt {
public static void main(String []args) {
String numStr = "3256";
char ch[] = numStr.toCharArray();
int sum = 0;
// Get ASCII value for zero
int zeroAscii = (int)'0';
for (char c:ch) {
int tmpAscii = (int)c;
System.out.println("Temp Ascii:" + tmpAscii);
sum = (sum * 10) + (tmpAscii - zeroAscii);
System.out.println(sum);
}
System.out.println(sum);
}
}