版权声明:转载请声明或联系博主QQ3276958183 https://blog.csdn.net/dragon_18/article/details/82494286
本小白在编程中做过一道题:从控制台获取一行数字,将其中各个数字相乘。
首先本小白想到的是利用integer.parseInt(string s);将字符串直接转换为int型。但发现当输入一个20位的数时,则会抛出错误。
后来就像利用数组来存取数字,以为数组的长度可以根据字符串的长度开辟空间。首先利用的是toCharArray()转换为char型数据,再遍历后利用Integer.parseInt()转化为int[]。达到将不限长度将输入的数字转化为int型处理。
附实例代码
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));//将system.in包装为inputstreamreader流,可达到读取一行数据
String b = null;
try {
b = in.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
char[] c = b.toCharArray();//将输入数据转化为char类型的数组
int[] d= new int[c.length];
for(int i=0;i<c.length;i++){
char m=c[i];
String g=m+"";//构造string类型数据
d[i]=Integer.parseInt(g);//利用integer。parseint将string类型转化为int类型数据,存入int数组中
}