java读取文件和创建数组的解决方法

来源:爱站网时间:2022-08-17编辑:网友分享
今天给小伙伴们来说一说关于java读取文件和创建数组的解决方法是什么,对此比较感兴趣的话,可以来看一看爱站技术频道小编所整理的资料,一定不会让你失望的。

问题描述


我必须遵循特定格式并使用扫描仪。我知道有更好的方法,但这是必要条件,我是java的新手,正试图弄清楚这一点。有一个包含客户名称,出生日期和其他信息的文件。我需要计算文件中的条目数,然后文件需要根据文件条目数创建一个数组并将该数组转换为字符串数组。我还需要执行更多代码,但是我仍然坚持这一部分。必须使用try / catch。

public class Customers {
  //////// MAIN ////////
  public static void main(String[] args) {
    File file = new File("customers.txt");
    int numEntries = countCustomers(file);
    Person[] customers = readIntoArray(file, numCustomers);
    int min = locateBirthdate(customers);
    System.out.println("Birthdays this month: " + customer[mon].getBirthdate());

  }
  //* Counts customers in the file.//
  public static int countCustomers(File f) {
    int i = 0;
    try {
      Scanner scan = new Scanner(f);
      while (scan.hasNextLine()) {
        i++;
        scan.nextLine();
      }
    } catch (Exception e) {
      System.out.println("Check filename.");
    }

    return i;
  }
  //read data into array and convert into string array

  public static Customer[] readIntoArray(File f, int num) {
      //num = countCustomers(f);
      num = 0;
      try {
        Scanner input = new Scanner(f);
        Customer[] birth = new Customer[num];
        String[] strBirth = new String[num];
        while (num 

思路:


好我有几条评论。首先-您是否真的需要'strBirth'数组?看起来您只写元素但不从数组中读取。其次-'readIntoArray'方法始终返回null。此外,您要计算两次客户,但只有一个就足够了。然后,您真的需要与客户打交道吗?由于使用数组,因此您需要确切了解客户数量,因此需要对文件进行两次扫描。如果使用ArrayList,则只需扫描文件一次。

我已修复以下代码中的问题。

public class Customers {
  //////// MAIN ////////
  public static void main(String[] args) {
    File file = new File("customers.txt");
    Person[] customers = readIntoArray(file, numCustomers);
    int numEntries = customers.length;
    int min = locateBirthdate(customers);
    System.out.println("Birthdays this month: " + customer[mon].getBirthdate());

  }

  public static Person[] readIntoArray(File f, int num) {
      List customers = new ArraList();
      try {
        Scanner input = new Scanner(f);
        String[] strBirth = new String[num];
        while (scan.hasNextLine()) {
          customers.add(makeCustomer(scan.nextLine()));
        }
      } catch (Exception e) {
        throw new RuntimeException(e);
      }
      return customers.toArray(Person[]::new);
  }

  以上就是java读取文件和创建数组的解决方法内容了,希望朋友们看完后都能有所了解。爱站技术频道网站提供了很多不同类型的技术文章给大家,需要的话可以收藏关注下。

上一篇:Java中使用String#类的详细介绍

下一篇:Java读取/格式化数据的方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载