JAVA 无法在 main from 方法中访问我的数组

标签 java arrays methods

我刚刚开始学习 Java,我正在尝试使用我的方法之一从主类读取数组,而主类又从文件中获取其值。该文件只是前 5 个分数列表,名称和数字用一行分隔。我正在制作的方法需要检查给予它的分数是否高于该位置已有的分数并替换该分数。唯一的问题是我无法从我的方法访问数组值。

这是我的代码:

public static void main(String[] args) {

    String [] nameArray = new String[5];

    int [] scoreArray = new int[5];


    File score = new File("score.txt");

    if (score.exists())
    {
        try {
            nameArray[0] = Files.readAllLines(Paths.get("score.txt")).get(0);
            nameArray[1] = Files.readAllLines(Paths.get("score.txt")).get(2);
            nameArray[2] = Files.readAllLines(Paths.get("score.txt")).get(4);
            nameArray[3] = Files.readAllLines(Paths.get("score.txt")).get(6);
            nameArray[4] = Files.readAllLines(Paths.get("score.txt")).get(8);

            scoreArray[0] = Integer.parseInt(Files.readAllLines(Paths.get("score.txt")).get(1));
            scoreArray[1] = Integer.parseInt(Files.readAllLines(Paths.get("score.txt")).get(3));
            scoreArray[2] = Integer.parseInt(Files.readAllLines(Paths.get("score.txt")).get(5));
            scoreArray[3] = Integer.parseInt(Files.readAllLines(Paths.get("score.txt")).get(7));
            scoreArray[4] = Integer.parseInt(Files.readAllLines(Paths.get("score.txt")).get(9));
        } catch (IOException ex) {
            System.out.println("FILE IO EXCEPTION");
        }
    }




    if (!score.exists())
    {

        nameArray[0] = "---";
        nameArray[1] = "---";
        nameArray[2] = "---";
        nameArray[3] = "---";
        nameArray[4] = "---";

        scoreArray[0] = 0;
        scoreArray[1] = 0;
        scoreArray[2] = 0;
        scoreArray[3] = 0;
        scoreArray[4] = 0;

        BufferedWriter outputWriter;
        try {
            outputWriter = new BufferedWriter(new FileWriter("score.txt"));
                // I am aware I could have used a loop to do this
            outputWriter.write(nameArray[0]);
            outputWriter.newLine();
            outputWriter.write(Integer.toString(scoreArray[0]));
            outputWriter.newLine();

            outputWriter.write(nameArray[1]);
            outputWriter.newLine();
            outputWriter.write(Integer.toString(scoreArray[1]));
            outputWriter.newLine();

            outputWriter.write(nameArray[2]);
            outputWriter.newLine();
            outputWriter.write(Integer.toString(scoreArray[2]));
            outputWriter.newLine();

            outputWriter.write(nameArray[3]);
            outputWriter.newLine();
            outputWriter.write(Integer.toString(scoreArray[3]));
            outputWriter.newLine();

            outputWriter.write(nameArray[4]);
            outputWriter.newLine();
            outputWriter.write(Integer.toString(scoreArray[4]));
            outputWriter.newLine();

            outputWriter.flush();
            outputWriter.close();
        } catch (IOException ex) {
            System.out.println("FILE IO EXCEPTION");
        }
    }


}


static void playerScore(String name, int score)
{
  if (score > scoreArray[0])
  {
      scoreArray[0] = score;
  }
  //etc...
}

/* static String [] getTopNames()
{

}

 static int [] getTopScores()
{

}
*/

最佳答案

在类中定义数组,而不是在 main 方法本身中。

关于JAVA 无法在 main from 方法中访问我的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161667/

相关文章:

java - JLabel 上的鱼眼效果

ruby - Ruby 使用 == AND eql 有什么好的理由吗? ? (与 to_a 和 to_ary 类似)

objective-c - 从 Objective-C 中的方法返回多个对象

java - 是否有更高效的 Java 8 Stream 方法来查找 int[] 中的索引?

ajax - 如何将 int 数组从 ajax 发送到 c# mvc?

ios - 方法未运行 - iOS

java - 动态添加 Primefaces 组件

java - 如何配置Spring TestRestTemplate

java - Arduino ADK 无法通过 USB 从 Galaxy S II 接收数据

php - Drupal - 如何使用 taxonomy_get_term_by_name 从名称中获取术语 ID