【问题标题】:error: cannot find symbol - variable out错误:找不到符号 - 变量输出
【发布时间】:2021-08-16 17:55:59
【问题描述】:

我想要一个 System 类来读取已写入文本文件的书籍。

import java.io.BufferedReader;
import java.io.FileReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class System
{
    private String FILENAME = "books.txt";
    private static final int MAX_BOOKS = 10;

        public void readBooks()
    {
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader(FILENAME));
            String line = null;
            int count=0;

            while ((line = br.readLine()) != null && count < MAX_BOOKS) {
                String[] values = line.split(",");

                String ISBN = values[0];
                String author = values[1];
                String title = values[2];
                String subject = values[3];

                String inputDate = "04/04/2015";
                SimpleDateFormat formatter = new SimpleDateFormat("d/M/yyyy");
                Date date = null;
                try {
                    date = formatter.parse(values[4]);
                }
                catch (ParseException exc)
                {
                   System.out.println("A date format error occurred"); //***
                }

                Transaction bok = new Book(ISBN,author,title,subject,date);
                books[count] = bok;

                count++;
            }
            br.close();

            numberOfBooks = count;

            System.out.println("Books read from file successfully");

            updateBalance();
        }
        catch (Exception ex) {
           System.out.println("A file error occurred");
        }
    }

}

标题中的错误指的是我突出显示的 System.out.println。为什么会出现此错误,我该如何解决?提前致谢!

【问题讨论】:

  • 将 System 类重命名为其他名称。严重地。你自己的类的名称与一个关键的 Java 核心类的名称冲突。

标签: java optimization repair


【解决方案1】:

将您的类重命名为 System 以外的其他名称,以便可以使用 Java 自己的 java.lang.System

【讨论】:

  • 哇,谢谢。我的脑子里一片乌云,连这么简单的错误都看不到。谢谢大佬
【解决方案2】:

您可以替换以:开头的每条指令

System.out.println()

java.lang.System.out.println()

【讨论】:

  • 答案似乎是真的。但是正如“充满鳗鱼的气垫船”和“Reimeus”所提到的,将一个类命名为“系统”并不是一个好主意。这会导致混淆,为什么会首先提出这个问题。
  • 虽然您的回答在技术上是正确的,但这不是一个可接受的解决方案。正如 Dirk 所指出的,Reimus 和 Hovercraft 已经发布了实际的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 2016-08-08
  • 2020-06-30
  • 2023-03-12
  • 2017-12-28
相关资源
最近更新 更多