如何对齐我的结果看起来像列 [英] How to align my results to look like columns
问题描述
关于如何排列我的结果,看起来像乘法表的任何想法?
这是一个来自学校的项目,老师希望我们探索不同的方式来格式化我们的代码。任何想法将不胜感激。
public class MultiplicationTableBuilder {
public static void main(String [] args){
System.out.println(1 2 3 4 5 6 7 8 9 10);
System.out.println(--------------------------------------- - );
//嵌套for循环构建乘法表
for(int number1 = 1; number1 <= 10; number1 ++)
{
System.out.printf (number1 +|); (int number2 = 1; number2 <= 10; number2 ++)
System.out.printf(+(number1 * number2));
}
System.out.println(|);
$ b $ p
$ b $ p其他人也同意我的感觉, 4是嵌套循环和类的一点点(上一课)?也许我只是不知所措使用字符串#格式
或系统 .out.printf
来生成格式化的输出,例如
System.out.printf( 1,2,3,4,5,6,7,8,9,10);以及其中,所述第一和第二部分中的每一个都具有与所述第一和第二部分中的所述第二部分相同的所述第二部分。
System.out.println(----------------------------------- --------------);
//嵌套For循环构建乘法表
for(int number1 = 1; number1 <= 10; number1 ++){
System.out.printf(%3d |,number1); (int number2 = 1; number2 <= 10; number2 ++){
System.out.printf(%3d,(number1 * number2));
}
System.out.println(|);
$ / code>
输出...
1 2 3 4 5 6 7 8 9 10
------------------------ -------------------------
1 | 1 2 3 4 5 6 7 8 9 10 |
2 | 2 4 6 8 10 12 14 16 18 20 |
3 | 3 6 9 12 15 18 21 24 27 30 |
4 | 4 8 12 16 20 24 28 32 36 40 |
5 | 5 10 15 20 25 30 35 40 45 50 |
6 | 6 12 18 24 30 36 42 48 54 60 |
7 | 7 14 21 28 35 42 49 56 63 70 |
8 | 8 16 24 32 40 48 56 64 72 80 |
9 | 9 18 27 36 45 54 63 72 81 90 |
10 | 10 20 30 40 50 60 70 80 90 100 |
请看 Java For Complete Beginners - 格式化字符串,了解有关格式限定符的更多详细信息
Any ideas on how to line up my results so it looks like a Multiplication Table?
This is a project from school and the teacher wants us to explore different ways to format our code. Any ideas will be greatly appreciated.
public class MultiplicationTableBuilder {
public static void main(String[] args) {
System.out.println(" 1 2 3 4 5 6 7 8 9 10 ");
System.out.println("----------------------------------------");
// Nested For loops to build multiplication table
for(int number1 = 1; number1 <= 10; number1++)
{
System.out.printf(number1 + " |");
for(int number2 = 1; number2 <= 10; number2++)
{
System.out.printf(" " + (number1 * number2));
}
System.out.println(" | ");
}
}
Also does anyone else agree with me on feeling like Week 4 is a little early for nested loops and classes (last lesson)? Maybe I'm just getting overwhelmed.
解决方案 Use String#format
or System.out.printf
to generate formatted output, for example
System.out.printf("%5s %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d%n", "", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
System.out.println("-------------------------------------------------");
// Nested For loops to build multiplication table
for (int number1 = 1; number1 <= 10; number1++) {
System.out.printf("%3d | ", number1);
for (int number2 = 1; number2 <= 10; number2++) {
System.out.printf("%3d ", (number1 * number2));
}
System.out.println(" | ");
}
Output...
1 2 3 4 5 6 7 8 9 10
-------------------------------------------------
1 | 1 2 3 4 5 6 7 8 9 10 |
2 | 2 4 6 8 10 12 14 16 18 20 |
3 | 3 6 9 12 15 18 21 24 27 30 |
4 | 4 8 12 16 20 24 28 32 36 40 |
5 | 5 10 15 20 25 30 35 40 45 50 |
6 | 6 12 18 24 30 36 42 48 54 60 |
7 | 7 14 21 28 35 42 49 56 63 70 |
8 | 8 16 24 32 40 48 56 64 72 80 |
9 | 9 18 27 36 45 54 63 72 81 90 |
10 | 10 20 30 40 50 60 70 80 90 100 |
Take a look at Java For Complete Beginners - formatted strings for more details about the format qualifiers
这篇关于如何对齐我的结果看起来像列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!