62,628
社区成员
发帖
与我相关
我的任务
分享import java.util.Scanner;
public class Study7 {
public static void main(String[] args){
//开启扫描仪
Scanner input = new Scanner(System.in);
//定义变量用来放本金
double capital;
//提示提示输入本金
System.out.println("请输入本金");
capital = input.nextDouble();
//定义变量用于存取年份
int year;
//提示输入年份
System.out.println("请输入定期存款年年限");
year = input.nextInt();
//定义变量存取利息
double accrual;
//判断存款年限选择不同的利率,计算利息
if(year == 1){
accrual = capital * 0.025 * 1;
}
if(year == 2){
accrual = capital * 0.027 * 2;
}
if(year == 3){
accrual = capital * 0.034 * 3;
}
if(year == 5){
accrual = capital * 0.036 * 5;
}
//定义变量存放本息,本息=本金+利息
double trueCapital = capital + accrual ;
//打印结果
System.out.println("本金=%s"+capital);
System.out.println("利息=%s"+accrual);
System.out.println("本息=%s"+trueCapital);
//关闭输入口
input.close();
}
}//判断存款年限选择不同的利率,计算利息
if(year == 1){
accrual = capital * 0.025 * 1;
}
if(year == 2){
accrual = capital * 0.027 * 2;
}
if(year == 3){
accrual = capital * 0.034 * 3;
}
if(year == 5){
accrual = capital * 0.036 * 5;
}
这几个if会不会执行(比如year=6时,就不会accrual的赋值语句)。
然后下面你再用accrual时,编译器就会给你警告,你这个accrual没有值就用啦,容易出问题哦,赶紧改了。
再给你举个例子吧,如果你的代码改成下面这样:
// 定义变量存取利息
double accrual;
// 判断存款年限选择不同的利率,计算利息
if (year == 1) {
accrual = capital * 0.025 * 1;
}
else if (year == 2) {
accrual = capital * 0.027 * 2;
}
else if (year == 3) {
accrual = capital * 0.034 * 3;
}
else if (year == 5) {
accrual = capital * 0.036 * 5;
}else{
System.out.println("年限无效");
input.close();
return;
}
// 定义变量存放本息,本息=本金+利息
double trueCapital = capital + accrual;
编译器就可以放心的让你用accrual这个变量啦,因为编译器可以确定,如果你走到了capital + accrual这一句,accrual是肯定有值的。