首页 > 解决方案 > Java 错误:变量 playerClass 可能尚未初始化

问题描述

我到处寻找,这个问题的所有解决方案都是更复杂的情况。我已经编程了几年,但对 Java 还是很陌生。

当我启动程序时,它说“错误:变量 playerClass 可能没有被初始化”。如果您知道如何提供帮助,将不胜感激让我知道!”

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

class Main {
  public static void main(String[] args) {
    
    // reg variables
    int health;
    int damage;
    int defense;
    int powerUp;
    int currentLevel;
    int difficulty;
    int playerClass;

    // level types
    boolean intro;
    boolean reglevel = false;
    boolean bossFight = false;
    boolean puzzle = false;

    // scanner
    Scanner userInput = new Scanner(System.in);

    // game start
    intro = true;

    if (intro = true) {
      System.out.println("Select a class:");
      System.out.println("[Press number relating to class]");
      System.out.println("-1 - Fighter [25 Health, 10 Damage, 5 Defense");
      System.out.println("-2 - Archer [15 Health, 10 Damage, 1 Defense, Passive: Ranged");
      System.out.println("-3 - Mage [20 Health, 15 Damage, 3 Defense, Ability: Fireball");
      playerClass = userInput.nextInt();
    }

    if (playerClass == 1) {
      System.out.println("You have selected Fighter! You use your sword to fight enemies.");
      System.out.println("What difficulty do you want your dungeon to be?");
      System.out.println("Type number related to difficulty:");
      System.out.println("1: Easy");
      System.out.println("2: Medium");
      System.out.println("3: Hard");
      difficulty = userInput.nextInt();
    }
  }
}

标签: java

解决方案


先初始化playerClass;当@luk2302 被清除时,您的变量会被有条件地初始化,因此编译器无法确定这一点。


推荐阅读