java - 在循环中打印格式化数组值?

标签 java

我正在通过一本书自己学习java,它有一个图表,我应该通过查找数组值并循环到从文本文件显示来复制。我的所有字段都打印得很好,但我似乎无法将它们分开?

enter image description here

我也知道该做什么,但它只是没有做我想做的事..

public static void main(String[] args) {
    Scanner input = null;
    File empFile = new File("employeesSalesRep.txt");
    String[][] empArray = new String[9][6];

    try {
        input = new Scanner(empFile);
        for (int outer = 0; input.hasNext() == true; ++outer) {
            for (int inner = 0; inner < empArray[outer].length; ++inner) {
                empArray[outer][inner] = input.next();
            }

            if (empArray[0][4].equals("22")) {

            }


        }
    }

    catch (FileNotFoundException e) {
        System.out.println("Cannot find file.  File must be in your PROJECT folder!");
        System.out.println("System out print: " + e.getMessage());
        System.err.println(e.getMessage());
        System.exit(0);
    }

    finally {
        input.close();
    }

    System.out.printf("%-13s", "Emp #");
    System.out.printf("%-13s", "Last Name");
    System.out.printf("%-13s", "First Name");
    System.out.printf("%-13s", "MI");
    System.out.printf("%-13s", "Sales Rep");
    System.out.printf("%-13s", "Commision");
    System.out.println();
    System.out.printf("%-13s", "---------");
    System.out.printf("%-13s", "---------");
    System.out.printf("%-13s", "-----------");
    System.out.printf("%-13s", "---------");
    System.out.printf("%-13s", "----------");
    System.out.printf("%-13s", "-----------");
    System.out.println();

    for (int x = 0; x < empArray.length; ++x) {

        if (empArray[x][0] == null)
            break;

        for (int i = 0; i < empArray[x].length; ++i) {
            System.out.printf("%-13s", empArray[x][i]);
        }
        System.out.println();
    }
}

我不需要直接的答案。只是一些方向。给我一 block 作为我的代码的基础,我将完成剩下的工作。我真的很想学这个。

(如果能找到如何累计总数的帮助,那就太好了!)

谢谢。

编辑:
我弄清楚了格式化部分。但现在我在积累这些值时遇到了麻烦......

enter image description here

最佳答案

您可以创建一个变量来跟踪销售代表的最后一个值。当它发生变化时(即在 22 和 33 之间),您将打印额外的行来分隔表格。您还可以添加总计变量,并在更改销售代表的最后一个值时将其重置为零。

关于java - 在循环中打印格式化数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461326/

相关文章:

java - 转到具有动态名称的类型 (Java)

java - 为什么我的应用程序在手机重启后尝试打开文件时崩溃?

java - 为什么我必须使用 Kotlin 而不是 Java?

java - 收到包含无效 cookie 的 cookie header 。

java - 如何在javafx中重复同一场景中的节点

java - 如何使用 OSGi 标准功能以编程方式在 SCR 中注册服务?

java - Spring Boot 忽略 Rest Controller 中的 Jackson 注释

java - 可执行 JAR 中的 OpenJDK 只有 : Why does getResourceAsStream() not return MANIFEST. MF

java - Aerospike 箱体长度小于 14

java - 如何在Java中使用sql.Array获取列的值?