请帮我看看这段java代码,让它正常运行 。修改代码之后请告诉我为什么要这样。谢谢

2024-11-02 15:18:30
推荐回答(2个)
回答1:

编译过,能运行并满足条件 ,解释在代码注释里
import java.util.Scanner;
public class jipiao {
public static void main(String[] args) {
System.out.print("请您输入出行的的月份:");
Scanner input = new Scanner(System.in);//修改:输入最好放在输出后面
int a = input.nextInt();
if (a >= 4 && a <= 10) {
System.out.println("1、头等舱\t2、经济舱:");
int b = input.nextInt();
System.out.println("请输入机票价格");
int c = input.nextInt();
if (b == 1) {
double number = c * 0.9;
System.out.println("您的机票价格为:" + number);
} else if (b == 2) {
double number1 = c * 0.8;
System.out.println("您的机票价格为:" + number1);
} else {
System.out.println("输入有误!");
}
} else if(( a < 4 || a > 10)&&a>0&&a<=12){//修改:a < 4 && a > 10这个条件不可能满足,不可能有数小于4并大于10
//把括号里的值改成a < 4 || a > 10并大于0并小于等于12
System.out.println("1、头等舱\t2、经济舱:");
int no1 = input.nextInt();
System.out.println("请输入机票价格");//修改:少两句话不能编译 和下面一句
int c = input.nextInt();
if (no1 == 1) {
double number = c * 0.5;
System.out.println("您的机票价格为:" + number);
} else if (no1 == 2) {
double number1 = c * 0.4;
System.out.println("您的机票价格为:" + number1);
} else {
System.out.println("输入有误!");
}
}else{//修改:输入值<0或>12提示错误
System.out.println("输入有误!");
}
}
}

回答2:

public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请您输入出行的的月份:");
int a = input.nextInt();
if(a>=4&&a<=10){
System.out.println("1、头等舱\t2、经济舱:");
int b = input.nextInt();
System.out.println("请输入机票价格");
int c = input.nextInt();
if(b==1){
double number = c*0.9;
System.out.println("您的机票价格为:"+number);
}else if(b==2){
double number1= c * 0.8;
System.out.println("您的机票价格为:"+number1);
}else{
System.out.println("输入有误!");
}
}else if(a<4&&a>10){
System.out.println("1、头等舱\t2、经济舱:");
int no1 = input.nextInt();
System.out.println("请输入机票价格");
int c = input.nextInt();
if(no1==1){
double number = c*0.5;
System.out.println("您的机票价格为:"+number);
}else if(no1==2){
double number1= c * 0.4;
System.out.println("您的机票价格为:"+number1);
}else{
System.out.println("输入有误!");
}
}
}
这样才能运行