Por que ele nao acha o objeto?

package meuprojeto;

[color=blue]import[/color] java.util.Scanner;
[color=blue]import[/color] java.util.Random;

[color=blue]public class[/color] MeuProjeto {

[color=blue]public static void[/color] main(String[] args) {
    
    Scanner sc = [color=blue]new[/color] Scanner(System.in);
    Random gerador = [color=blue]new[/color] Random();
    [color=blue]boolean[/color] escolhaCerta = [color=blue]false[/color];
    String nomeUser = [color=blue]new[/color] String();
    String nomeComp = [color=blue]new[/color] String();
    String ataques;
    
    System.out.println("Bem vindo ao League of legends zuado. Escolha seu campeão.");

    [color=blue]while[/color] (escolhaCerta == [color=blue]false[/color]) {

        System.out.println("Escolha entre Draven, Malphite, Rumble e Jinx.");
        String opcao = sc.nextLine();
        
        [color=blue]if[/color]("Draven".equals(opcao) || "draven".equals(opcao)){
            
            Draven personagemUser = [color=blue]new[/color] Draven();
            nomeUser = personagemUser.nome;
            escolhaCerta = [color=blue]true[/color];
        }
        [color=blue]else if[/color]("Malphite".equals(opcao) || "malphite".equals(opcao)){
            
            Malphite personagemUser = [color=blue]new[/color] Malphite();
            nomeUser = personagemUser.nome;
            escolhaCerta = [color=blue]true[/color];
            
        }
        [color=blue]else if[/color]("Rumble".equals(opcao) || "rumble".equals(opcao)){
            
            Rumble personagemUser = [color=blue]new[/color] Rumble();
            nomeUser = personagemUser.nome;
            escolhaCerta = [color=blue]true[/color];
            
        }
        [color=blue]else if[/color]("Jinx".equals(opcao) || "jinx".equals(opcao)){
            
            Jinx personagemUser = [color=blue]new[/color] Jinx();
            nomeUser = personagemUser.nome;
            escolhaCerta = [color=blue]true[/color];
            
        }
        else{
            System.out.println("Você digitou incorretamente.");
        }
        
    }
        System.out.println(personagemUser.nome);

Comecei a estudar programação orientada a objetos e nada melhor que treinar.
Meu programa tem a classe Malphite, Draven, Jinx e Rumble.

Minha dúvida é, porque ele nao acha o objeto personagemUser??? Com as classes tá tudo certo, todas tem o atributo nome.

O que eu faço?

[code]package meuprojeto;

import java.util.Scanner;
import java.util.Random;

public class MeuProjeto {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
Random gerador = new Random();
boolean escolhaCerta = false;
String nomeUser = new String();
String nomeComp = new String();
String ataques;

System.out.println(“Bem vindo ao League of legends zuado. Escolha seu campeão.”);

while (escolhaCerta == false) {

System.out.println(“Escolha entre Draven, Malphite, Rumble e Jinx.”);
String opcao = sc.nextLine();

if(“Draven”.equals(opcao) || “draven”.equals(opcao)){

Draven personagemUser = new Draven();
nomeUser = personagemUser.nome;
escolhaCerta = true;
}
else if(“Malphite”.equals(opcao) || “malphite”.equals(opcao)){

Malphite personagemUser = new Malphite();
nomeUser = personagemUser.nome;
escolhaCerta = true;

}
else if(“Rumble”.equals(opcao) || “rumble”.equals(opcao)){

Rumble personagemUser = new Rumble();
nomeUser = personagemUser.nome;
escolhaCerta = true;

}
else if(“Jinx”.equals(opcao) || “jinx”.equals(opcao)){

Jinx personagemUser = new Jinx();
nomeUser = personagemUser.nome;
escolhaCerta = true;

}
else{
System.out.println(“Você digitou incorretamente.”);
}

}
System.out.println(personagemUser.nome); [/code]
Está ocorrendo algum erro, ou o nome está sendo impresso em branco? Poderia postar uma das classes desses “personagens”?

OBS: use a tag code pra postar os códigos

Você não declaraou personagemUser no escopo de onde quer usar.