编译有点麻烦java

Little trouble in compiling java

我在尝试编译控制台游戏时遇到问题,控制台显示了我

线程中的异常"main" java.lang.Error:未解决的编译问题:在Pytania.main(Pytania.java:6)

第 6 行是 public static void main(String[] args),遗憾的是我没有看到失败:(

我用的是Eclipse,谢谢解答:)

import java.util.Scanner;

public class Pytania{


public static void main(String[] args){

    String Elf = ("Elf");
    String Kot = ("Kot");
    String Wojownik = ("Wojownik");
    String Lucznik = ("Lucznik");

    Scanner pisz = new Scanner(System.in);

    System.out.println("---------------------------------");
    System.out.println("----------RPG--TALES-------------");
    System.out.println("------------Part 1---------------");
    System.out.println("---------------------------------");
    System.out.println(" ");
    System.out.println("Pamietaj, pisz poprawnie, inaczej mutanty wysadza gre! :D ");
    System.out.println(" ");
    System.out.println("Podaj nazwe uzytkownika");
    String nazwa = pisz.nextLine();
    System.out.println("Witaj " + nazwa + " w nowym symulatorze RPG, nastepnym krokiem bedzie wybranie klasy, wybierz klase z dostepnych ponizej");
    System.out.println("Elf, Kot, Wojownik, Lucznik");
    String postac = pisz.nextLine();
    System.out.println("Gratulacje " + nazwa + ", Wybrales klase " + postac);





    if (postac=="Elf"){

        return postac = Elf;


    }


}

这对我很有帮助,谢谢! :)

您必须在末尾添加另一个 } 以关闭 class 定义。

此外,您不能在 void 方法中使用 return 语句。

您也可以将 equals 方法更改为如下所示:

static String equals(String postac)
{


    switch(postac)
    {
        case "Elf": postac = "Elf"; 
            break;
        case "Kot": postac = "Kot";
            break; 
        case "Wojownik": postac = "Wojownik";
            break;
        case "Lucznik": postac = "Lucznik";
            break;

    }
         return postac;
}

然后您可以在最后的语句中调用它,就像:

 System.out.println("Gratulacje " + nazwa + ", Wybrales klase " + equals(postac));