本帖最后由 小伤口 于 2022-1-15 22:13 编辑
问题应该出在
- if (age >= 18 && age <= 60) {
- System.out.println("请支付60元");
- else if (age < 18) {
- System.out.println("请支付30元");
- }
- }
复制代码
也就是第14行代码,应该是你马虎了,要把else if 这段代码放在外面,也就是这样
- if (age >= 18 && age <= 60) {
- System.out.println("请支付60元");
- } else if (age < 18) {
- System.out.println("请支付30元");
- }
复制代码
else if前面必须要跟一个if否则语法错误
下面这是修改过后的代码,目前貌似没问题.
- import java.util.Scanner;
- public class FamilyAccount {
- public static void main(String[] args) {
- Scanner myScanner = new Scanner(System.in);
- System.out.println("请输入当前月份");
- int month = myScanner.nextInt();
- if (month >= 4 && month <= 10) {
- System.out.println("请输入你的年龄");
- int age = myScanner.nextInt();
- if (age >= 18 && age <= 60) {
- System.out.println("请支付60元");
- } else if (age < 18) {
- System.out.println("请支付30元");
- } else {
- System.out.println("请支付20元");
- }
- } else {
- System.out.println("请输入你的年龄");
- int age2 = myScanner.nextInt();
- if (age2 >= 18 && age2 <= 60) {
- System.out.println("请支付40元");
- } else {
- System.out.println("请支付20元");
- }
- }
- }
- }
复制代码
你的代码最好优化一下,if else 嵌套太多,不便于理解,不具有美感