NumberFormatException数字格式异常)编写一个程序,提示用户读取两个整数,然后显示他们的和。程序应该在输入不正确时提示用户再次输入数字。
输入格式:
i 9 (第1次输入) l 8 (第2次输入) 5 6 (第3次输入)
输出格式:
Incorrect input and re-enter two integers: (第1次输出提示) Incorrect input and re-enter two integers: (第2次输出提示) Sum is 11 (输出结果)
输入样例:
i 9
l 8
5 6
输出样例:
Incorrect input and re-enter two integers: Incorrect input and re-enter two integers: Sum is 11
代码如下:
#include <iostream> #include<string> //#include<cstdio> #include<algorithm> using namespace std; int f; int s2i(string &a) { for(int i=0;i<a.size();i++) { if(a[i]<'0'||a[i]>'9'){ f=0; } } if(f==1) return stoi(a); return -1; } int main () { string a,b; while(1) { cin>>a>>b; f=1;//如果将f=1;放进s2i函数第一句会出错,why int m=s2i(a); int n=s2i(b); if(f==0) { cout<<"Incorrect input and re-enter two integers:"<<endl; continue; } else { cout<<"Sum is "<<m+n<<endl; break; } } }