package test;
/**
* 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345
* 使用char=long进行转换
* 判断正负号、非数字
*
* @author Zealot
*
*/
public class MS_20 {
public static void main(String[] args) {
MS_20 ms20 = new MS_20();
String s = "-345";
long a = 0;
char[] c = s.toCharArray();
// 有负号时
if (c[0] - 48 == -3) {
for (int i = 1; i < c.length; i++) {
long l = c[i] - 48;
//非数字
if(l>9||l<0){
System.out.println(c[i]+"为非数字");
System.exit(-1);
}
a += l * ms20.getNum(c.length - i);
}
a = -a;
}
// 有正号时
else if (c[0] - 48 == -5) {
for (int i = 1; i < c.length; i++) {
long l = c[i] - 48;
//非数字
if(l>9||l<0){
System.out.println(c[i]+"为非数字");
break;
}
a += l * ms20.getNum(c.length - i);
}
}
//没有符号时
else {
for (int i = 0; i < c.length; i++) {
long l = c[i] - 48;
//非数字
if(l>9||l<0){
System.out.println(c[i]+"为非数字");
break;
}
a += l * ms20.getNum(c.length - i);
}
}
System.out.println(a);
}
// 获取10^n
private int getNum(int n) {
int reVal = 1;
for (int i = 0; i < n - 1; i++) {
reVal = reVal * 10;
}
return reVal;
}
}
【微软100题】输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345
最新推荐文章于 2019-06-28 17:17:36 发布