我正在通过一本书自己学习java,它有一个图表,我应该通过查找数组值并循环到从文本文件显示来复制。我的所有字段都打印得很好,但我似乎无法将它们分开?
我也知道该做什么,但它只是没有做我想做的事..
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 作为我的代码的基础,我将完成剩下的工作。我真的很想学这个。
(如果能找到如何累计总数的帮助,那就太好了!)
谢谢。
编辑:
我弄清楚了格式化部分。但现在我在积累这些值时遇到了麻烦......
最佳答案
您可以创建一个变量来跟踪销售代表的最后一个值。当它发生变化时(即在 22 和 33 之间),您将打印额外的行来分隔表格。您还可以添加总计变量,并在更改销售代表的最后一个值时将其重置为零。
关于java - 在循环中打印格式化数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461326/