陷入死循環了 自己找不到錯在哪里了,求大神指導
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);
??
? } ?
? }
}
}
2016-03-03
for(int j =z;i>=0;i++)這里的i在循環中沒有用到,這個循環中它的值是沒機會變的,所以它會永遠滿足>=0的條件造成死循環..但沒看懂你這里為啥要用這個循環
2016-03-03
?for(int j =z;i>=0;i++)//循環是判斷用戶所選的車的類型的
這有問題。改成?for(int j =z;i>=0;i--)試試
2016-03-03
for(int j =z;i>=0;i++)這句話有問題