刚开始学,注释那句求帮助

import java.util.Scanner;
public class nesting {
    public static void main(String[] agrs){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入成绩");
        double achievement= input.nextDouble();
        if (achievement > 8.0) {
            System.out.println("成绩合格");
            System.out.println("请输入性别");
            String gender= input.next();//
            //这里输入字符串然后在if比较字符串,输入的和if一样的却没有执行if下面那句
            System.out.println(gender);
            if (gender == "男") {
                System.out.println("成功进入男子组决赛");
            }
            else if (gender == "女") {
                System.out.println("成功进入女子组决赛");
            }
            }
        else {
            System.out.println("成绩不合格,已被淘汰");
        }
    }
}

字符串比较是否相等用equals
if(gender.equals('男'))

新年快乐🎉,望采纳,谢谢!

if (gender == "男") {
  System.out.println("成功进入男子组决赛");
  }
else if (gender == "女") {
  System.out.println("成功进入女子组决赛");
}

这些代码应改为

if (gender.equals("男")) {
  System.out.println("成功进入男子组决赛");
  }
else if (gender.equals("女")) {
  System.out.println("成功进入女子组决赛");
}

字符串不用==比较,而用equals方法判断,如if(gender.equals("男"))

你这个问题是因为比较字符串用了等号,正确应该用 equals 来判断。

作为新人你应该必须知道的是 ‘==’ 和 ‘equals’的区别,下面这个文章详解:
https://blog.csdn.net/qq_32907417/article/details/50672904

正确的代码应该改为:

if (gender.equals("男")) {
  System.out.println("成功进入男子组决赛");
  }
else if (gender.equals("女")) {
  System.out.println("成功进入女子组决赛");
}

可以先了解下比较相等的相关知识点。==和equals的区别
==不仅会比较值,还会比较引用地址