【发布时间】:2018-04-14 04:25:35
【问题描述】:
我正在使用 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);
}
}
【问题讨论】:
-
还要记得导入枚举