这段代码为什么输出不了结果?实在是找不到错误

问题描述

这段代码为什么输出不了结果?实在是找不到错误
package com.xiaoyuanling;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Method {
public Passenger[] passenger={new Passenger(""1 ""奥迪A4 ""500""4"")new Passenger(""2 ""马自达6 ""400""4"")new Passenger(""4 ""金龙 ""800""20"")};
public PickUp[] pickUp={new PickUp(""3 ""皮卡雪 ""450""4""2"")};
public Trunk[] trunk={new Trunk(""5 ""松花江 ""400""4"")new Trunk(""6 ""依维柯 ""1000""20"")};
public ArrayList car1;
public ArrayList car2;
public ArrayList car3;
public Set set1;
public Set set2;
public Set set3;
public int[] sum1;
public int[] sum2;
public int[] sum3;
int sumPickUp;
int sumTrunk;
int sumPrice;

public Method(){    car1=new ArrayList<>();    car2=new ArrayList<>();    car3=new ArrayList<>();    set1=new HashSet<>();    set2=new HashSet<>();    set3=new HashSet<>();    sum1=new int[3];    sum2=new int[3];    sum3=new int[4];}public void welcome(){    String number1= ""1"";    String number2= ""0"";    Scanner scanner=new Scanner(System.in);    System.out.println(""欢迎来到嘀嘀打车系统!"");    System.out.println(""您是否要租车:""+number1+""是""+number2+""否"");    int number3=scanner.nextInt();    if(number3==Integer.valueOf(number1)){        System.out.println(""您可租车的类型及其价目表:"");        System.out.println(""序号  ""+""汽车名称 ""+""租金   ""+""容量"");        System.out.println(passenger[0].id+"".""+""    ""+passenger[0].name+""  ""+passenger[0].price+""元/天""+""   ""+passenger[0].pickUp+""人"");        System.out.println(passenger[1].id+"".""+""    ""+passenger[1].name+"" ""+passenger[1].price+""元/天""+""  ""+passenger[1].pickUp+""人"");        System.out.println(pickUp[0].id+"".""+""   ""+pickUp[0].name+""  ""+pickUp[0].price+""元/天""+""   ""+pickUp[0].pickUp+""人""+pickUp[0].capacity+""吨"");        System.out.println(passenger[2].id+"".""+""    ""+passenger[2].name+""   ""+passenger[2].price+""元/天""+""    ""+passenger[2].pickUp+""人"");        System.out.println(trunk[0].id+"".""+""    ""+trunk[0].name+""  ""+trunk[0].price+""元/天""+""   ""+trunk[0].capacity+""吨"");        System.out.println(trunk[1].id+"".""+""    ""+trunk[1].name+""  ""+trunk[1].price+""元/天""+""   ""+trunk[1].capacity+""吨"");    }else if(number3==Integer.valueOf(number2)){        System.out.println(""欢迎下次光临再见"");    }}public void rentCar(){    System.out.println(""请输入你要租车的数量:"");    Scanner input=new Scanner(System.in);    int rentnumber=input.nextInt();    for(int i=0;i<rentnumber;i++){        System.out.println(""请输入第""+(i+1)+""辆车的序号"");        String number1=input.next();            if(number1.equals(passenger[0].id)){            car1.add(passenger[0]);            set1.add(passenger[0]);        }else if(number1.equals(passenger[1].id)){            car1.add(passenger[1]);            set1.add(passenger[1]);        }else if(number1.equals(passenger[2].id)){            car1.add(passenger[2]);            set1.add(passenger[2]);        }else if(number1.equals(pickUp[0].id)){            car2.add(pickUp[0]);            set2.add(pickUp[0]);        }else if(number1.equals(trunk[0].id)){            car3.add(trunk[0]);            set3.add(trunk[0]);        }else if(number1.equals(trunk[1].id)){            car3.add(trunk[1]);            set3.add(trunk[1]);        }    }    System.out.println(""请输入租车天数:"");    String number2=input.next();    System.out.println(""您的账单:"");    System.out.println(""***可载人的车有"");    for(Passenger passenger1:set1){            if(passenger1.id.equals(passenger[0].id)){                System.out.print(""奥迪A4"");            }else if(passenger1.id.equals(passenger[1].id)){                System.out.print(""马自达6"");            }else if(passenger1.id.equals(passenger[2].id)){                System.out.print(""金龙"");            }    }    for(PickUp pickUp1:set2){        if(pickUp1.id.equals(pickUp[0].id)){            System.out.print(""皮卡雪"");        }    }    for(Passenger passenger2:car1){        sum1[0] += Integer.parseInt(passenger2.pickUp);    }    for(PickUp pickUp2:car2){        sum1[1] += Integer.parseInt(pickUp2.pickUp);    }    sum1[2]=sum1[0]+sum1[1];    System.out.println(""共载人:"" + sum1[2]);    System.out.println(""***载货的车有:"");    for(PickUp pickUp3:set2){        if(pickUp3.id.equals(pickUp[0].id)){            System.out.print(""皮卡雪"");        }    }    for(Trunk trunk1:set3){        if(trunk1.id.equals(passenger[1].id)){                System.out.print(""松花江"");        }else if(trunk1.id.equals(passenger[2].id)){                System.out.print(""依维柯"");        }    }    for(PickUp pickUp4:car2){        sum2[0] += Integer.parseInt(pickUp4.capacity);    }    for(Trunk trunk3:car3){        sum2[1] += Integer.parseInt(trunk3.capacity);    }    sum2[2]=sum2[0]+sum2[1];    System.out.println(""共载货:""+sum2[2]);       System.out.println(""***租车总价格:"");    for(Passenger passenger3:set1){        sumPrice += ((Integer.parseInt(passenger3.price))*Integer.parseInt(number2));        sum3[0]=sumPrice;    }    for(PickUp pickUp4:set2){        sumPrice += ((Integer.parseInt(pickUp4.price))*Integer.parseInt(number2));        sum3[1]=sumPrice;    }    for(Trunk trunk4:set3){        sumPrice += ((Integer.parseInt(trunk4.price))*Integer.parseInt(number2));        sum3[2]=sumPrice;    }    sum3[3]=sum3[0]+sum3[1]+sum3[2];    System.out.print(sum3[3]);}

}

解决方案

不要滥用equals,整数比较用==号。

时间: 2024-10-30 09:00:54

这段代码为什么输出不了结果?实在是找不到错误的相关文章

c++-为什么这段代码循环输出的数组少了第一个元素且多出了一个随机数?

问题描述 为什么这段代码循环输出的数组少了第一个元素且多出了一个随机数? 输入一些非负实数 用数组输出这些数 求平均数并输出(输入负数时报错并退出重新输入,输入回车时执行下一步操作) #include using namespace std; int main() { int i,j,k; double a[100],sum=0,avr; part1: cout<<"输入数字"< j=0,k=0; for (i=0;getchar()!='n';i++) { cin&

继承-这段代码的输出结果能不能给解释解释?

问题描述 这段代码的输出结果能不能给解释解释? public class A { public A() {init();} protected void init() {} static class B extends A{ int i,j=999; protected void init() { System.out.println("此时A的构造方法正在调用此方法:i的值为:"+i+",j的值为:"+j); i=888; j=111; } } public st

请问这段代码为什么输出null,求大神解答程序执行的顺序?

问题描述 请问这段代码为什么输出null,求大神解答程序执行的顺序? public class xieCheng { private String baseName="Base"; public xieCheng(){ this.callName(); } public void callName(){ System.out.println(baseName); } } public class Sub extends xieCheng { private String baseNam

c#-请问这段代码的输出结果,and why?

问题描述 请问这段代码的输出结果,and why? class Person { private int age; public int Age { get { return age; } set { age = value; } } } class Program { static void Main(string[] args) { Console.WriteLine(GetPerson().Age); Console.ReadKey(); } static Person GetPerson

链接-看看下面这段代码会输出什么?

问题描述 看看下面这段代码会输出什么? 解决方案 VC环境下执行一下不就知道了么. 解决方案二: 请说出下面一段代码的输出结果

class-实在想不明白,为何这段代码只输出128

问题描述 实在想不明白,为何这段代码只输出128 import java.util.*; public class TheLuckyNumbersLevelTwo { ArrayList al = new ArrayList(); public static void find(int[] numbers) { int t=128; int i; for(i=0;i<t;i++); { System.out.println(i); /* System.out.print('['); int j=

c++-为什么这段代码执行不了,我实在找不出错误,求各位大神搭救

问题描述 为什么这段代码执行不了,我实在找不出错误,求各位大神搭救 #include using namespace std; int main() { void bubble_sort(char *name[ ],int n);//函数声明,下同 void print(char *name[ ],int n); char *dept[11]={"管理系","国际经贸系","计算机系","电子系","数码媒体系&qu

struct-自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急.

问题描述 自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. 自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. #include #include typedef struct tnode Tnode; struct tnode { Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data) { Tnode *new = malloc(sizeof(Tn

求解?在超级商城上采集了下面段代码,我怎么把颜色和尺寸取出来??

问题描述 这是代码:[{"dataRows":[{"name":"顏色","specValue":[{"name":"九分小破"},{"name":"黃扣九分"},{"name":"爆款九分"},{"name":"純藍"}]},{"name":&qu