猫阿哥
2016-03-03 14:24
package com.dada;
import java.util.Scanner;
public class Show {
public static void main(String[] args) {
Car [] carForRent = {new Ke("奥迪A4",500,4),new Ke("马自达6",400,4),new KeHuo("皮卡雪 6",450,4,2),new Ke("金龙",800,20),
new Ke("松花江",400,4),new Huo("依维柯",1000,20)};//定义一个数组保存创建的对象
Scanner scann = new Scanner(System.in);
System.out.println("欢迎使用答答租车系统:");
System.out.println("您是否要租车:1是 0 否");
String x = scann.next();
if (x.equals("1"))
{
System.out.println("您可租车的类型及价目表:");
System.out.println("序号\t汽车名称\t租金\t\t容量");
for (int i =0;i<=carForRent.length-1;i++)//显示租车列表
{
System.out.print(i+1+"\t");carForRent[i].show();//调用各种车型的显示
}
}
System.out.println("请输入您需要的汽车数量:");
int y = scann.nextInt();//、定义一个变量保存顾客输入的车数
for(int i=1;i<=y;i++)
{
System.out.println("请输入您选择的汽车序号:");
int z = scann.nextInt();
if((z<0)||z>carForRent.length)//判断输入的序号是否合法
{
System.out.println("您输入序号有误!");
}
else
{
System.out.println("请输入您要租 的天数:");
int tianshu = scann.nextInt();
System.out.println("您的账单如下:");
for(int j =z;i>=0;i++)//循环是判断用户所选的车的类型的
{ int keNum = 0;
int huoNum = 0;
int khNum = 0;
if((carForRent[j].poeNum!=0)&&(carForRent[j].Weight!=0))
{
khNum = khNum +1;
}
else if((carForRent[j].poeNum!=0)&&(carForRent[j].Weight==0))
{
keNum = keNum +1;
}
else huoNum = huoNum+1;
System.out.println("载客车有"+keNum+"辆");
System.out.println("载货车有"+huoNum+"辆");
System.out.println("载客载货车有"+khNum+"辆");
System.out.println("它们 分别是:"+carForRent[z].name);
int sum = (keNum*carForRent[z].price+huoNum*carForRent[z].price+khNum*carForRent[z].price)*tianshu;
System.out.println("总共花费:"+sum);
}
// int sum = (keNum*carForRent[z].price+huoNum*carForRent[z].price+khNum*carForRent[z].price)*tianshu;
// System.out.println("总共花费:"+sum);
}
}
}
}
for(int j =z;i>=0;i++)这里的i在循环中没有用到,这个循环中它的值是没机会变的,所以它会永远满足>=0的条件造成死循环..但没看懂你这里为啥要用这个循环
for(int j =z;i>=0;i++)//循环是判断用户所选的车的类型的
这有问题。改成 for(int j =z;i>=0;i--)试试
for(int j =z;i>=0;i++)这句话有问题
Java入门第二季 升级版
531107 学习 · 6299 问题
相似问题