Java 打印树程序
我需要帮助解决以下测试问题(这不是家庭作业或作业) 用户可以从控制台输入1-9的值,程序接受3个数字,每行一个数字。 如果用户输入以下内容:Java 打印树程序,java,tree,binary-tree,Java,Tree,Binary Tree,我需要帮助解决以下测试问题(这不是家庭作业或作业) 用户可以从控制台输入1-9的值,程序接受3个数字,每行一个数字。 如果用户输入以下内容: 三, 二, 四, 输出应为: 1 2 2 3 3 3 1 2 2 1 2 2 3 3 3 4 4 4 4 我没有任何
- 三,
- 二,
- 四,
1
2 2
3 3 3
1
2 2
1
2 2
3 3 3
4 4 4 4
我没有任何关于树的经验,所以请告诉我那是什么样的树,我从哪里开始完成上面的程序(我需要一些提示和建议来帮助我完成这个程序)
提前感谢。定义一个二维字符数组,用于保存数字。从上到中开始。使用递归 不需要树数据结构。您的程序的一般功能如下:
- 读取三个输入
- 对于每个输入n,使用从1到n的For循环以n作为输出值打印n行
- (稍微难一点的部分:)在每一行上,您还需要生成所需的间距。这将涉及基于n和最大值n的零件计算。因为n是一个单位数,所以当n>=10时,您不必考虑它占用更多的字符
x
s,以空格分隔。因此,第一行以n个空格开始,后跟11
,下一行少1个空格,22
s,下一行少1个空格,33
s,等等。这可以通过一个简单的for循环和1D字符数组来解决(我不会为您编码)。@Dukeling,谢谢分享这个想法。当然也可以不用递归。这个想法是,对于当前=左和当前=右,向下-添加左-添加右-执行。然而,这样做确实会使某些单元格获得两次(相同的)值。