gpt4 book ai didi

java - 在 Eclipse 中无法解析为变量错误,在另一个类中使用枚举变量

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:28 26 4
gpt4 key购买 nike

我正在使用 Eclipse Oxygen,并且在我的程序中收到此错误“Ruka 无法解析为变量”,该程序由三个类组成,我无法理解我的错误在哪里,此变量“Ruka”在另一个类中被定义为枚举方法,如下

" public enum Ruka {
LEVA, PRAVA;
} "

这是程序中发生错误的第二类:

import java.util.*;
public class Ppa1u04 {
public static Scanner sc;
public Postava prvniPostava;
public Postava druhaPostava;
public Postava vytez;

public static Postava nactiPostavu() {

System.out.print("Jmeno postavy: ");
String jmeno = sc.nextLine();
System.out.print("Sila: ");
int sila = Integer.parseInt(sc.nextLine());
System.out.print("Hbitost: ");
int hbitost = Integer.parseInt(sc.nextLine());
System.out.print("Zdravi: ");
int zdravi = Integer.parseInt(sc.nextLine());

Postava postava = new Postava(jmeno, sila, hbitost, zdravi);

System.out.println(" ");

return postava;
}

public static Zbran nactiZbran() {

System.out.print("Nazev zbrane: ");
String nazev = sc.nextLine();

if(nazev.equals("")) {
System.out.print("\n");
return null;
}

System.out.print("Utok: ");
int utok = Integer.parseInt(sc.nextLine());

System.out.print("Obrana: ");
int obrana = Integer.parseInt(sc.nextLine());

Zbran zbran = new Zbran(nazev, utok, obrana);

System.out.println(" ");

return zbran;
}
// from here
public static void vyzbrojPostavu(Postava postava, Zbran prava, Zbran leva) {
postava.vezmiZbran(Ruka.PRAVA, prava);

postava.vezmiZbran(Ruka.LEVA, leva);
}
// to here I have the error " cannot be resolved to a variable"
public static Postava souboj(Postava PrvniPostava, Postava DruhaPostava) {
int ubranePrvniZdravi;
int ubraneDruheZdravi;
System.out.println("Souboj:\n");
while(PrvniPostava.getZdravi() > 0 && DruhaPostava.getZdravi() > 0) {
ubranePrvniZdravi = DruhaPostava.branSe(PrvniPostava.zautoc());
System.out.println("utoci " + PrvniPostava + " a dava " + ubranePrvniZdravi + " zraneni");
if(DruhaPostava.getZdravi() > 0) {
ubraneDruheZdravi = PrvniPostava.branSe(DruhaPostava.zautoc());
System.out.println("utoci " + DruhaPostava + " a dava " + ubraneDruheZdravi + " zraneni");
}
}

if(DruhaPostava.getZdravi() > 0) {
System.out.print("\n");
return DruhaPostava;
}
System.out.println(" ");
return PrvniPostava;

}

public static void main(String[] args) {

sc = new Scanner(System.in);

Postava PrvniPostava = nactiPostavu();
Zbran zbranPravaPrvniPostava = nactiZbran();
Zbran zbranLevaPrvniPostava = nactiZbran();
vyzbrojPostavu(PrvniPostava, zbranPravaPrvniPostava, zbranLevaPrvniPostava);

Postava DruhaPostava = nactiPostavu();
Zbran zbranPravaDruhaPostava = nactiZbran();
Zbran zbranLevaDruhaPostava = nactiZbran();
vyzbrojPostavu(DruhaPostava, zbranPravaDruhaPostava, zbranLevaDruhaPostava);

Postava vytez = souboj(PrvniPostava, DruhaPostava);

System.out.print("Vitez: " + vytez);

}

}

最佳答案

如果您的枚举位于名为ExampleClass的类中,那么您必须像这样访问您的枚举:

ExampleClass.Ruka.PRAVAExampleClass.Ruka.LEVA

你的类(class):

public class ExampleClass {
public enum Ruka {
LEVA, PRAVA;
}
}

关于java - 在 Eclipse 中无法解析为变量错误,在另一个类中使用枚举变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47061868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com