package day0;
import java.util.Scanner;
public class day1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入时间");
Double h = sc.nextDouble();
System.out.println("请输入距离");
Double g = sc.nextDouble();
if (h >= 6.00 && h <= 21.00) {
if (g <= 2) {
System.out.println("本次打车费用7元");
}
if (g > 2) {
double g1 = (g - 2) * 1.5 + 1 + 6;
System.out.println("本次打车费用" + g1 + "元");
} else if (h <= 5.00 | h >= 22.00) {
if (g <= 2) {
System.out.println("本次打车费用7元");
}if (g > 2) {
double g1 = (g - 2) * 1.5 + 1 + 7;
System.out.println("本次打车费用" + g1 + "元");
}
}
}
}
}
因为g<=2和g>2的情况都包括了 ,所以不会执行到else if.
如有帮助,请采纳
代码第12行h的范围要求是6到21才满足条件进入,一旦进入你的h的值就不会满足第19行的条件,你可以仔细看看。还有第19行的代码是双竖线 || 代表或,一个竖线代表或运算。