Java选项卡输入系统输出

Java选项卡输入系统输出,java,Java,我必须创建一个应用程序,我将打印学生的结果。在作业中,我们必须使用\t,以便在一行中标记所有内容 for(int i = 0; i< 7; i++) { System.out.println("Vak/Project :" + naamVak[i] + "\t\tCijfer: " + inputCijfer[i] + "\tBehaalde studiepunten: " + studiepuntenVAK[i]); } 如何创建输出,使其全部

我必须创建一个应用程序,我将打印学生的结果。在作业中,我们必须使用
\t
,以便在一行中标记所有内容

   for(int i = 0; i< 7; i++) {
         System.out.println("Vak/Project :" + naamVak[i] + "\t\tCijfer: " +
      inputCijfer[i] + "\tBehaalde studiepunten: " + studiepuntenVAK[i]);
   }
如何创建输出,使其全部位于正确的行中?

您可以使用String.format方法

String s1 = String.format("test right alignment:  %13s   %50s  ",'test a short string', 'test a very very very long string' );
String s2 = String.format("test left  aligmnent:  %-13s   %-50s  ",'test a short string', 'test a very very very long string'  );

System.out.println(s1);
System.out.println(s2);

您可以使用String.format方法(使用类似printf的语法),并提供宽度值。语法如下:,您可以使用:

System.out.println(String.format("%20s %20s %20s", naamVak[i], inputCijfer[i], studiepuntenVAK[i]));
这假设每列的最大输入宽度为20个字符

System.out.println(String.format("%20s %20s %20s %20s %20s", "Vak/Project: ", naamVak[i], "Cijfer: ", inputCijfer[i], "Behaalde studiepunten: ", studiepuntenVAK[i]));
仍然为用户提供了一个奇怪的视图。这是控制台中的输出:

   Vak/Project:  Fasten Your Seatbelts             Cijfer:                   8.6 Behaalde studiepunten: 
   Vak/Project:           Programming             Cijfer:                   7.5 Behaalde studiepunten: 
   Vak/Project:             Databases             Cijfer:                   2.1 Behaalde studiepunten: 
   Vak/Project:       Personal Skills             Cijfer:                   2.3 Behaalde studiepunten: 
   Vak/Project:        Project Skills             Cijfer:                   2.4 Behaalde studiepunten: 
   Vak/Project:        Infrastructure             Cijfer:                   2.5 Behaalde studiepunten: 
   Vak/Project:  Network Engineering 1             Cijfer:                   2.6 Behaalde studiepunten: 

您可以“计算”已打印部件的长度,然后从那里开始/t不考虑前面或后面的行。请看一下这些方法。也许会有帮助。制表员即使在计数上做了更正,也不能在所有环境下都得到保证。阅读有关格式化的内容,f.e.类java.util.Formatter和固定长度格式选项卡通常每8个字符计算一次,但不一定是hanks,非常感谢!我回家后会试试这个。我完成后会给你一些反馈。你不应该用答案作为交换帖子的方式,但无论如何,这是因为第一行和最后一行包含超过20个字符的条目:“系好安全带”和“网络工程1”。例如,您可以将“%20s%20s%20s%20s%20s”调整为类似“%20s%30s%20s%20s%20s%20s”之类的内容
   Vak/Project:  Fasten Your Seatbelts             Cijfer:                   8.6 Behaalde studiepunten: 
   Vak/Project:           Programming             Cijfer:                   7.5 Behaalde studiepunten: 
   Vak/Project:             Databases             Cijfer:                   2.1 Behaalde studiepunten: 
   Vak/Project:       Personal Skills             Cijfer:                   2.3 Behaalde studiepunten: 
   Vak/Project:        Project Skills             Cijfer:                   2.4 Behaalde studiepunten: 
   Vak/Project:        Infrastructure             Cijfer:                   2.5 Behaalde studiepunten: 
   Vak/Project:  Network Engineering 1             Cijfer:                   2.6 Behaalde studiepunten: