import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
/*
*输入描述:
*输入一个字符串,包括数字字母符号,可以为空
*输出描述:
*如果是合法的数值表达则返回该数字,否则返回0
*/
public class strToInt {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
System.out.println(StrToInt(str));
}
public static int StrToInt(String str) {
//定义一个集合来存放遍历出来的字符
List ls = new ArrayList();
//设置标志位如果在遍历的途中遇到了不是数字的字符将其置为false
boolean flag = true;
//遍历字符串
for (int i = 0; i < str.length(); i++) {
//获取单个字符
char c = str.charAt(i);
//判断字符是否为数字
if (c >= '0' && c <= '9') {
//若为数字将其添加在集合中
ls.add(c);
} else {
//若不为数字将标志位职位false
flag = false;
//跳出本次循环
break;
}
}
//如果标志位为true说明遍历的字符串中全部为数字
if (flag ==true) {
String res = "";
//将集合中的字符全部取出转换成字符串
for (int i = 0; i < ls.size(); i++) {
res += ls.get(i);
}
//将字符串转成int类型
return Integer.parseInt(res);
}else{
//若标志位为false说明在遍历的过程中遇到了非数字的字符,直接返回0;
return 0;
}
}
}
输入一个字符串,包括数字字母符号,可以为空,如果是合法的数值表达则返回该数字,否则返回0
于 2019-09-13 11:37:07 首次发布