ifelse问题,年龄大有七起可以搬桌子,年龄小于等于五,不可以搬桌子,介于五和七之间分男女,男可以女不可

大于七和小于等于五都对,就中间的被性别限制的不对,输入的不论是男还是女都不可以

img

package com.test.xsj.dev;

import java.util.Scanner;

/**

  • @author xsj

  • @date 2022/7/4 17:06

  • /
    public class T56788276 {

    public static void main(String[] args) {

      Scanner in = new Scanner(System.in);
      System.out.println("请输入年龄(正整数):");
      int age = in.nextInt();
      if (age > 7){
          System.out.println("可以搬桌子");
      }else if (age > 5){
          System.out.println("请输入性别(m:男/w:女)");
          String gender = in.next();
          if (gender.equals("m")){
              System.out.println("可以");
          }else {
              System.out.println("不可以");
          }
      }else {
          System.out.println("太小了");
      }
    

    }
    }

不写字符串就对了,性别定义int,把男为1,女为0

因为nextInt()之后sc有换行符 直接使用next()会接收到换行接收不到nan,在第10行加一个sc.next()即可

"nan".equals(sex);