import java.util.Scanner;public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub CarRental target=new CarRental(); target.way(); Scanner s=new Scanner(System.in); int x=s.nextInt(); if(x==1){ System.out.println("序号 汽车名称 租金 容量"); CarRental target1=new Car(); target1.way(); }else System.out.println("谢谢使用大大租车"); System.out.println("请输入您要租车的数量"); int a=s.nextInt(); for(int i=1;i<=a;i++){ int sum = 0; System.out.println("请输入"+"第"+i+"辆车的序号:"); int c=s.nextInt(); switch(c){ case 1: c=500; break; case 2: c=400; break; case 3:c=450; break; case 4: c=800; break; case 5: c=400; break; case 6: c=1000; break; case 7:sum=c+sum; } sum=sum+c; } sum=sum*d; System.out.println(sum); System.out.println("请输入你要租的天数:"); int d=s.nextInt(); System.out.println("你的账单是:"); sum=sum*d; System.out.println(sum); } }代码是上面的 我想计算租车的费用最后两行代码显示错误,这是一个问题,还有我的循环体这样写有错误吗?
1 回答
SilenceDean
TA贡献2条经验 获得超0个赞
for(int i=1;i<=a;i++){ int sum = 0; System.out.println("请输入"+"第"+i+"辆车的序号:"); int c=s.nextInt(); switch(c){ case 1: c=500; break; case 2: c=400; break; case 3:c=450; break; case 4: c=800; break; case 5: c=400; break; case 6: c=1000; break; case 7:sum=c+sum; } sum=sum+c; }
问题在for循环里面,每次循环,你都把sum初始化了,把int sum = 0;放在for循环外面
int sum = 0; for(int i=1;i<=a;i++){ System.out.println("请输入"+"第"+i+"辆车的序号:"); int c=s.nextInt(); switch(c){ case 1: c=500; break; case 2: c=400; break; case 3:c=450; break; case 4: c=800; break; case 5: c=400; break; case 6: c=1000; break; case 7:sum=c+sum; } sum=sum+c; }
另外,最后这块代码sum=sum*d是复制的有问题么,重复出现了2次
sum=sum*d; System.out.println(sum); System.out.println("请输入你要租的天数:"); int d=s.nextInt(); System.out.println("你的账单是:"); sum=sum*d; System.out.println(sum);
添加回答
举报
0/150
提交
取消