怎么以表格的形式输出ASCII星图?

本教程将介绍如何以表格的形式输出ASCII星图?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么以表格的形式输出ASCII星图? 教程 第1张

问题描述

我需要有关代码问题的帮助。我必须编写一个以表格格式显示星形图案的程序。

我并不是在寻找确切的代码,我想自己弄清楚,所以任何建议和提示都会有很大帮助。

// Pattern A Loop
for (int PatternA = 0; PatternA <= 9; PatternA++) { // outerLoop Pattern A
 for (int PatternAI = 0; PatternAI <= PatternA; PatternAI++) { // Inner Loop
  System.out.print("+");
 }
 System.out.println();
}

// Pattern B Loop
for (int PatternB = 0; PatternB <= 10; PatternB++) { // outer loop Pattern B
 for (int PatternBI = 9; PatternBI >= PatternB; PatternBI--) { //Inner Loop
  System.out.print("+");
 }
 System.out.println();
}

推荐答案

既然您说您不需要完整的解决方案,下面是一些提示。

首先,由于您的表格必须将PatternAIPatternBI中的材料打印在同一行上,因此您应该将这些循环一起移动。这将涉及到使外部循环对两者都起作用。您可以在for循环中使用多个变量:

for (int i = 0, j = 0; i < 10 && j < 2; i++, j++)

您还需要一些方法来分隔这些模式。您可以使用空格,但它们的数量会有所不同(实际上与+相同,因此您可以使用空格)。制表符也可以使用,而且更简单一些。但是,当行达到一定长度时,您必须在使用的制表符数量之间进行切换。

这就是问题的全部。请让我知道我的提示是否有用,或者是否有更好的方式来表达它们。

这是完整的代码,如果你卡住了:

// Pattern is used for both PatternA and PatternB in this outer loop
// Outer Loop
for (int Pattern = 0; Pattern <= 9; Pattern++) { 
 // Inner Loop PatternA
 for (int PatternAI = 0; PatternAI <= Pattern; PatternAI++) {
  System.out.print("+");
 }
 if (Pattern < 7)
  System.out.print("		");
 else
  System.out.print("	");
 // Inner Loop PatternB
 for (int PatternBI = 9; PatternBI >= Pattern; PatternBI--) {
  System.out.print("+");
 }
 System.out.println();
}

好了关于怎么以表格的形式输出ASCII星图?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。