从学习Java编码开始我的冒险。我陷入了书中的一个例子。它确实可以编译,但是运行时没有任何效果。输出只是空白。我正在使用Visual Studio代码。该示例说所有3个单独的文件(ProstyPortal,ProstyPortalGra和PomocnikGry)都应位于1个文件夹中。当我尝试使用main启动文件时,也没有任何反应。我决定将它们全部合并为一个文件,但仍然没有得到任何结果。该代码基本上是一个单线战舰游戏示例。
ftp://ftp.helion.pl/przyklady/javrg2.zip-文件夹r05中有示例中的文件(ProstyPortal,ProstyPortalGra和PomocnikGry),当它们在同一文件夹中时应该可以工作。 该死,当您刚开始学习:P
时,很难发现出什么问题了它是第5章的示例。
我确实遵循了本书中的所有规则和建议,但是即使直接复制代码也无济于事。我之前运行的示例没有遇到更大的问题。
import java.io.*;
class ProstyPortalGra {
public static void main(String[] args) {
int iloscRuchow = 0;
PomocnikGry pomocnik = new PomocnikGry();
ProstyPortal portal = new ProstyPortal();
int liczbaLosowa = (int) (Math.random() * 5);
int[] polozenie = {liczbaLosowa, liczbaLosowa+1, liczbaLosowa+2};
portal.setPolaPolozenia(polozenie);
boolean czyIstnieje = true;
while (czyIstnieje == true) {
String pole = pomocnik.pobierzDaneWejsciowe("Podaj liczbę");
String wynik = portal.sprawdz(pole);
iloscRuchow++;
if (wynik.equals("zatopiony")) {
czyIstnieje = false;
System.out.println(iloscRuchow + " ruchów");
} // koniec if
} // koniec while
} // koniec main
}
class ProstyPortal {
int [] polaPolozenia;
int iloscTrafien;
public void setPolaPolozenia(int[] ppol) {
polaPolozenia = ppol;
}
public String sprawdz(String stringPole) {
int strzal = Integer.parseInt(stringPole);
String wynik = "pudło";
for (int pole : polaPolozenia) {
if (strzal == pole) {
wynik = "trafiony";
iloscTrafien++;
break;
}
} // koniec pętli
if (iloscTrafien == polaPolozenia.length) {
wynik = "zatopiony";
}
System.out.println(wynik);
return wynik;
} // koniec metody
} // koniec klasy
class PomocnikGry {
public String pobierzDaneWejsciowe(String komunikat) {
String wierszWej = null;
System.out.print(komunikat + " ");
try {
BufferedReader sw = new BufferedReader(
new InputStreamReader(System.in));
wierszWej = sw.readLine();
if (wierszWej.length() == 0) return null;
} catch (IOException e) {
System.out.println("IOException: " + e);
}
return wierszWej;
}
}
答案 0 :(得分:0)
所以您要它打印一些东西?如果这是问题所在,那么您必须确保测试wynik是否等于“ zatopiony”的if语句实际上是正确的。如果此if语句为true,则您的程序只会给出输出。
答案 1 :(得分:0)
我将这些类分为多个单独的文件,这些文件的专有名称位于同一文件夹中。仍然不起作用,我确实收到此错误:错误:找不到符号。
每个单独的类都会发生此错误。我检查了此线程的所有常见错误: What does a "Cannot find symbol" compilation error mean?
如果使用任意格式,则文件以UTF-8编码保存。当我使用BOM编码进行保存时,出现了很多错误
我知道我的问题很基本,但这真的是拒绝初学者问题的原因吗?我在为锚做研究。也许我找不到初学者的原因?这意味着什么? “ P