我正在制作一个猜测游戏,它将使用数组来存储所有玩家的名字和他们的猜测。我对数组很新,所以我计划将用户输入到数组中是为了让他们输入播放的人数,将其设置为变量,然后使用循环继续询问名称,直到我达到规定数量的球员所需的名称数量。但是,我遇到了循环可能是一个非常简单的问题。到目前为止,这是我的一小部分代码:
public class GuessGame {
int w = 0;
int[] Players = new int[100];
String[] PlayerNames = new String[100];
String numStart = JOptionPane.showInputDialog("How many players?");
int j = Integer.parseInt(numStart);
while (w <= j)
{
String Name = JOptionPane.showInputDialog("What is your name?");
PlayerNames[w] = Name;
w++;
}
问题是,我的循环中的变量w和j出错了。错误陈述说明它无法找到类w或类j的符号。我并不打算让他们上课,我在其他项目中运行类似的代码顺便说一句,所以我真的不知道这里出了什么问题。我确定这是一件非常简单的事情,但是现在已经被困在这堵墙上一段时间了,直到我把它整理好才能真正进步。这是一个包含三个单独类的项目的一部分。这里发布的类,一个Player类和一个Tester类,这是我的主要方法。我之前用更简化的形式完成了整个工作,但现在我需要根据实际的播放器输入和数组进行调整。无论如何,测试者类应该是我的主要类。如果重要的话,我正在使用Netbeans。谢谢。以下是另外两个供参考的课程:
package GuessGame;
public class GameLauncher {
public static void main(String[] args) {
GuessGame game = new GuessGame();
game.startGame();
}
}
和
package GuessGame;
import java.util.Random;
public class Player {
int number = 0; //where guess goes
String name;
public void guess() {
Random r = new Random();
number = 1 + r.nextInt(21);
System.out.println("I'm guessing " + number);
}
}
答案 0 :(得分:1)
您的所有代码都需要在方法中。除了类级别的变量声明之外,您不能拥有任何其他内容。将所有这些移到一个方法中,例如public static void main(String[] args)
main方法。
public class GuessGame {
public static void main (String[] args)
{
int w = 0;
int[] Players = new int[100];
String[] PlayerNames = new String[100];
String numStart = JOptionPane.showInputDialog("How many players?");
int j = Integer.parseInt(numStart);
while (w <= j)
{
String Name = JOptionPane.showInputDialog("What is your name?");
PlayerNames[w] = Name;
w++;
}
}
}
答案 1 :(得分:1)
public class GuessGame {
public void getPlayerName()
{
int w = 0;
int[] Players = new int[100];
String[] PlayerNames = new String[100];
String numStart = JOptionPane.showInputDialog("How many players?");
int j = Integer.parseInt(numStart);
while (w <= j)
{
String Name = JOptionPane.showInputDialog("What is your name?");
PlayerNames[w] = Name;
w++;
}
}
public static void main (String[] args)
{
GuessGame gg = new GuessGame();
g.getPlayerName();
}}
您也可以输入方法并在main方法中执行。但是,如果在方法(局部变量)中声明任何变量,则必须初始化该变量。有关详细信息,请参阅here。
答案 2 :(得分:0)
public class GuessGame
{
static int w = 0;
int[] Players = new int[100];
static String[] PlayerNames = new String[100];
public static void main(String[] args) {
// TODO Auto-generated method stub
String numStart = JOptionPane.showInputDialog("How many players?");
int j = Integer.parseInt(numStart);
while (w <= j)
{
String Name = JOptionPane.showInputDialog("What is your name?");
PlayerNames[w] = Name;
w++;
}
}
}
一切都应该在除变量之外的方法中.Class是变量和方法的模板!!