这个程序中有3个函数分别是importation()、confirm()、count()。我现在希望把importation()函数中输入的贷款额度、银行利率、年月日数据与count()函数中的贷款额度money、银行利率rate、年月日对应起来。也就是说importation()实现输入数据,confirm()实现判断,并开始进行count()函数的调用。可是在count()中,我不知道怎么把importation()函数中输入的贷款额度、银行利率、年月日数据与count()函数中的贷款额度money、银行利率rate、年月日对应起来。请大家帮帮忙了!!
,package creditbag;
import java.util.*;public class creditdm {
Scanner input = new Scanner(System.in);
void importation(){
int mouth=0;
int day=0;
Scanner input = new Scanner(System.in);
System.out.println("请输入贷款额度");
double money= input.nextInt();
System.out.println("请输入银行利率");
double rate = input.nextInt();
System.out.println("请输入贷款年限年限中的年份");
int year = input.nextInt();
System.out.println("请输入贷款年限中的月份");
int M = input.nextInt();
mouth = M;
while(mouth>12){
System.out.println("输入错误!!!请重新输入贷款年限的月份");
int T = input.nextInt();
mouth = T;
}
System.out.println("请输入贷款年限中的日期");
int D = input.nextInt();
day = D;
while(day>31){
System.out.println("输入错误!!!请重新输入贷款年限日期");
int T = input.nextInt();
day = T;
}
System.out.println("您输入的贷款额度为:"+money);
System.out.println("您输入的银行利率为:"+rate);
System.out.println("您输入的贷款年限为"+year+"年"+mouth+"月"+day+"日");
}
void confirm(){
System.out.println("请确认上述数据(Y/N)");
String C= input.next();
if("Y".equals(C)){
count();←主要是这里 }else{
importation();
}
}
void count(int year,int mouth,int day,double money,double rate){
double payment = 0;
double profit = 0;
profit = (year+mouth/12+day/mouth/year)*(money*rate);
payment = profit + money;
}
public static void main(String[] args){
creditdm t = new creditdm();
t.importation();
creditdm s = new creditdm();
s.confirm();
}
}
,package creditbag;
import java.util.*;public class creditdm {
Scanner input = new Scanner(System.in);
void importation(){
int mouth=0;
int day=0;
Scanner input = new Scanner(System.in);
System.out.println("请输入贷款额度");
double money= input.nextInt();
System.out.println("请输入银行利率");
double rate = input.nextInt();
System.out.println("请输入贷款年限年限中的年份");
int year = input.nextInt();
System.out.println("请输入贷款年限中的月份");
int M = input.nextInt();
mouth = M;
while(mouth>12){
System.out.println("输入错误!!!请重新输入贷款年限的月份");
int T = input.nextInt();
mouth = T;
}
System.out.println("请输入贷款年限中的日期");
int D = input.nextInt();
day = D;
while(day>31){
System.out.println("输入错误!!!请重新输入贷款年限日期");
int T = input.nextInt();
day = T;
}
System.out.println("您输入的贷款额度为:"+money);
System.out.println("您输入的银行利率为:"+rate);
System.out.println("您输入的贷款年限为"+year+"年"+mouth+"月"+day+"日");
}
void confirm(){
System.out.println("请确认上述数据(Y/N)");
String C= input.next();
if("Y".equals(C)){
count();←主要是这里 }else{
importation();
}
}
void count(int year,int mouth,int day,double money,double rate){
double payment = 0;
double profit = 0;
profit = (year+mouth/12+day/mouth/year)*(money*rate);
payment = profit + money;
}
public static void main(String[] args){
creditdm t = new creditdm();
t.importation();
creditdm s = new creditdm();
s.confirm();
}
}
public double money;
public double rate;
public int year;
public int mouth;
public int day;
}
然后程序中:
OperatorVO vo = new OperatorVO();
System.out.println("请输入贷款额度");
vo.money= input.nextInt();
函数定义也是:
void confirm(OperatorVO vo){
...
}
System.out.println("请确认上述数据(Y/N)");
String C= input.next();
if("Y".equals(C)){
count();←主要是这里
}
else{
importation();
}
}
那那个count();括号里填什么啊?他报错了
void count(int year,int mouth,int day,double money,double rate){但你调用时却一个参数都没传递:
count();←主要是这里当然报错。
如果修改成传递值对象的话,函数定义修改为:
void count(OperatorVO vo){
调用时也注意传值:
count(vo);