这个程序的功能是输入投资额,投资年限,然后计算每年总收入,能编译,但是在输入年限str2按Enter之后提示数据格式错误,请帮忙看一下,谢谢!importjava.io.IOException;classInvest...
这个程序的功能是输入投资额,投资年限,然后计算每年总收入,能编译,但是在输入年限str2按Enter之后提示数据格式错误,请帮忙看一下,谢谢!
import java.io.IOException;
class Investment
{
public static void main(String [] args) throws IOException
{
String str1=new String();
String str2=new String();
System.out.println("请输入您的投资金额:");
char tr1=(char)System.in.read();
while(tr1>='0' && tr1<='9')
{
str1=str1+tr1;
tr1=(char)System.in.read();
}
System.in.read();
int e1=Integer.parseInt(str1);
System.out.println("您输入的金额为:"+e1);
System.out.print("请按”Enter“键确认!");
System.in.read();
System.out.println("请输入您的投资年限:");
char tr2=(char)System.in.read();
while(tr2>='0' && tr2<='9')
{
str2=str2+tr2;
tr2=(char)System.in.read();
}
System.in.read();
int e2=Integer.parseInt(str2); //提示有问题
System.out.println("您输入的投资年限为:"+str2);
System.out.print("请按”Enter“键确认!");
System.in.read();
double sum=0.0;
double r=0.12;
for (int i=1;i<=e2;i++)
{
sum=e1+Math.pow((1+r),i);
System.out.println("第"+i+"年"+"的总收益为:"+sum);
}
}
}
我试过了,会输出捕获异常时输出的那句话,所以这句应该不是这的问题吧。。。
那为什么上面的str1那的System.in.read()
我正因为是上面输入两句要按两下enter键,所以下面才没有加第二句System.in.read()的,没想到问题会出在这。
展开