如何在不使用Integer.parseInt()的情况下将字符串值转换为整数?

时间:2015-02-17 22:53:34

标签: java

我有像

这样的输入
String s = "6" , ss="99 , sss = "99999";

我需要将这些值存储在int引用变量中, 不使用Integer.parseInt

有什么建议吗? ,没有完整的代码,只是提示??

4 个答案:

答案 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);
    }
}