请问这个JAVA小程序错在哪里
程序想要计算每天的花费,但是为什么写出来是程序运行了两次才计算出结果,不应该是一次就可以的出来吗?请问要怎么修改,谢谢...
程序想要计算每天的花费,但是为什么写出来是程序运行了两次才计算出结果,不应该是一次就可以的出来吗?
请问要怎么修改,谢谢 展开
请问要怎么修改,谢谢 展开
4个回答
展开全部
你在计算totalcost和 averagecost时都调用了 getcostofmonday(),getcostoftuesday(),...所有就有两次输入才有结果,你应该:
double averagecost=totalcost/7;
另外,你为什么不用一个循环呢,还星期一到星期天分别写个函数,函数内容还是一样的,完全没这个必要啊。比如:
class cost
{
Scanner input=new Scanner(System.in);
String[] day={"MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"};
Double getCost(int i)
{
System.out.print("Please enter the cost of "+day[i]+":");
Double cost=input.nextDouble();
return cost;
}
}
main函数:
cost costOfEveryday=new cost();
Double totalcost=0;
for(int i=0;i<7;i++)
{
totalcost=totalcost+costOfEveryday.getCost(i);
}
Double averagecost=totalcost/7;
输出语句略;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
please enter .....那些输出是计算那两个double数据时候输出的,因为计算那两个double数据的时候调用了别的方法,please enter ....就是在这些方法里面打印的。
等计算完结果后,结果保存在了那两个double 变量里面了,然后main方法中的打印语句数据最终结果了。
你这个程序没有什么特别的,main方法里面就是从上向下依次执行的,可能是你想错了,再仔细想想。
等计算完结果后,结果保存在了那两个double 变量里面了,然后main方法中的打印语句数据最终结果了。
你这个程序没有什么特别的,main方法里面就是从上向下依次执行的,可能是你想错了,再仔细想想。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你的totalcost调用了一次cost的 类 而你的averagecost也调用了一次cost的类 你把这个注视掉一个就出来你想要的结果了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询