package HangmanSummative;
import java.lang.System.out;
import java.util.Scanner;
class Game
{
public static void main (String[] args)
{
int LivesLeft;
String LetterGuessed;
String wordInput;
char[] hiddenWord;
char[] aOfWord;
Scanner input = new Scanner (System.in);
boolean isFound;
int a;
public Game ()
{
this.setLives (10);
system.out.println (" Player one enter a word:");
wordInput = input.nextline ();
aOfWord = wordInput.toCharArray ();
hiddenWord = new char [aOfWord.length];
for (int j = 0 ; j < hiddenWord.length ; j++)
hiddenWord [j] = '*';
this.output ();
while (LivesRemaining > 0)
{
system.out.println (" Choose a letter: ");
LetterGuessed = input.nextLine ();
this.checkForMatch (LetterGuessed);
if (isFound == true)
{
hiddenWord [a] = LetterGuessed.charAt (0);
}
else
{
system.out.println(" Not found.");
this.reduceLives();
}
this.output();
}
}
public void setLives (int a)
{
this.LivesRemaining = a;
}
public void reduceLives()
{
LivesRemaining = LivesRemaining -1;
system.out.println("Lives left:" + this.getLives());
}
public int getLives()
{
return LivesRemaining;
}
public void output ()
{
system.out.println("Lives left" + this.getLives ());
system.out.println("Progress so far ");
for (int i = 0; i <hiddenWord.length; i++)
{
system.out.print(hiddenWord[i] + "\n");
}
}
public void checkForMatch(String l)
{
for(int i=0; i< aOfWord.length; i++)
{
if(l.charAt(0) == aOfWord[i])
{
isFound=true;
a = i;
break;
}
else
{
isFound = false;
}
}
}
}
}
答案 0 :(得分:1)
您的程序中存在大量编译错误。首先,您不能在其他方法中声明方法或构造函数。您的main
方法似乎包含Game
构造函数。这在语法上是不正确的。第二,gGet摆脱了这一行
import java.lang.System.out;
这是不正确的,因为out
是static
成员。请记住,java.lang
包始终是隐式导入的。你可以在技术上做到
import static java.lang.System.out;
如果你想做
out.println("whatever");
直接代替
System.out.println("whatever");
但你没有这样做,所以import
是不必要的。
第三,它是System
,而不是system
。
第四,它的Scanner#nextLine()
,而不是Scanner#nextline()
,就像你在这里一样
wordInput = input.nextline();
最后,没有任何名为LivesRemaining
的实例变量在任何地方声明。
答案 1 :(得分:0)
您必须在任何地方使用System.out.println
而不是system.out.println
。 s应为大写。当您执行import static System.out
时,可以直接使用out.println
在代码中打印语句。这是代码中静态导入语句的真实用法。使用静态导入应该主要是避免,因为它会给读者带来困惑。尝试在需要的地方始终使用System.out.print
。