Integer/String Conversions
Write two conversion routines. The first routine converts a string to a signed integer. You may assume that the string only contains digits and the minus character (‘-’), that it is a properly formatted integer number, and that the number is within the range of an int type. The second routine converts a signed integer stored as an int back to a string.
class Solution {
public static int strToInt(String s) {
boolean isNeg = false;
char[] str = s.toCharArray();
int i = 0;
if (str[0] == '-') {
isNeg = true;
i = 1;
}
int num = 0;
while (i < s.length()) {
num = num * 10;
num = num + (str[i++] - '0');
}
if (isNeg) {
num = num * (-1);
}
return num;
}
public static String IntToStr(int num) {
boolean isNeg = false;
int i = 0;
int len = 0;
int numTemp = num;
if (num < 0) {
num = num * -1;
isNeg = true;
len++;
}
do {
numTemp = numTemp/10;
len++;
} while (numTemp != 0);
char[] temp = new char[len];
do {
temp[i++] = (char)((num % 10) + '0');
num = num / 10;
} while (num != 0);
StringBuilder b = new StringBuilder();
if (isNeg) {
b.append('-');
}
while (i > 0) {
b.append(temp[--i]);
}
System.out.print(len);
return b.toString();
}
public static void main(String[] args) {
int number = -2000;
String str = IntToStr(number);
System.out.print(str);
}
}