Java 循环未识别先前定义的变量

Java 循环未识别先前定义的变量,java,arrays,Java,Arrays,我正在开发一个猜测游戏,它将使用数组存储所有玩家的名字和他们的猜测。我对数组相当陌生,所以我的计划是让用户输入到数组中,让他们输入玩游戏的人数,将其设置为一个变量,然后使用循环不断地询问姓名,直到我达到指定玩家数量所需的姓名数量。然而,我遇到了一个非常简单的循环问题。以下是我迄今为止的一小部分代码: public class GuessGame { int w = 0; int[] Players = new int[100]; String[] PlayerNames = new String

我正在开发一个猜测游戏,它将使用数组存储所有玩家的名字和他们的猜测。我对数组相当陌生,所以我的计划是让用户输入到数组中,让他们输入玩游戏的人数,将其设置为一个变量,然后使用循环不断地询问姓名,直到我达到指定玩家数量所需的姓名数量。然而,我遇到了一个非常简单的循环问题。以下是我迄今为止的一小部分代码:

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++;
}


所有代码都需要在一个方法中。除了类级别的变量声明之外,不能有任何内容。将所有这些移到一个方法中,例如
publicstaticvoidmain(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++;
    }
}
}
公共类猜谜游戏{
公共静态void main(字符串[]args)
{    
int w=0;
int[]玩家=新int[100];
String[]PlayerNames=新字符串[100];
String numStart=JOptionPane.showInputDialog(“有多少玩家?”);
int j=Integer.parseInt(numStart);
while(w
public class)猜谜游戏{
public void getPlayerName()
{
int w=0;
int[]玩家=新int[100];
String[]PlayerNames=新字符串[100];
String numStart=JOptionPane.showInputDialog(“有多少玩家?”);
int j=Integer.parseInt(numStart);
while(w
public class)猜谜游戏
{
静态int w=0;
int[]玩家=新int[100];
静态字符串[]播放名称=新字符串[100];
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
String numStart=JOptionPane.showInputDialog(“有多少玩家?”);
int j=Integer.parseInt(numStart);

虽然(w在这里发布您的错误。)问题是,这是一个项目的一部分,有三个独立的类。在这里发布的类,一个玩家类,和一个测试者类,这是我的主要方法。我之前让整个过程以更简化的形式运行,但现在我需要根据实际的玩家输入和数组进行调整。无论如何,测试者类是supposed将成为我的主要类。我将用此信息更新原始帖子。GuessGame类中的代码是否在方法中?您是否在复制中修剪了内容?GuessGame类还有更多内容,但我怀疑它是否真的与我遇到的错误有关,我想我对在这里发布所有内容有点犹豫。此外,下面的代码正在继续我发布的代码部分是这个类的最开始。问题是,这是一个项目的一部分,有三个独立的类。发布在这里的类,一个Player类,一个Tester类,这是我的主要方法。我之前把整个过程简化了,但现在我需要调整我的代码t表示实际的玩家输入和数组。不管怎样,tester类应该是我的主类。我用这个信息更新了原始帖子。事情是这样的,这是一个项目的一部分,有三个独立的类。发布在这里的类,一个玩家类和一个tester类,这是我的主要方法。我用一个更简单的ed表单,但现在我需要根据实际玩家输入和数组调整它。不管怎样,tester类应该是我的主类。我已经用这些信息更新了原始帖子。问题是,这是一个项目的一部分,有三个独立的类。发布在这里的类,一个玩家类和一个tester类,这是我的主要方法。我d整个过程在前面以一种更简单的形式进行,但是现在我需要根据实际的玩家输入和数组进行调整。不管怎样,tester类应该是我的主类。我已经用这些信息更新了原始帖子。
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);

}

}
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++;
    }
}
}
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();
  }}
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++;
        }
    }
}