我是Java的初学者。我正在使用Deitel和Deitel来学习Java,练习中的一个问题要求你打印三角形。这是一个问题:
(三角形打印程序)编写一个应用程序,分别显示以下模式,一个在另一个之下。使用for循环生成模式。所有星号(*)应该由
System.out.print( '*' );
形式的单个声明打印,这使得星号并排打印。System.out.println();
形式的陈述可用于移至下一行。 System.out.print('');`形式的语句可用于显示最后两个模式的空间。程序中不应该有其他输出语句。(a) (b) (c) (d) * ********** ********** * ** ********* ********* ** *** ******** ******** *** **** ******* ******* **** ***** ****** ****** ***** ****** ***** ***** ****** ******* **** **** ******* ******** *** *** ******** ********* ** ** ********* ********** * * **********
我有一个,但我需要一些b,c和d的帮助。提前致谢! :)
P.S。这是我的代码:
public class p5_15
{
public static void main( String[] args )
{
int line;
int star;
for( line = 1; line <= 10; line++ )
{
for( star = 1; star <= line; star++ )
{
System.out.print( "*" );
}
System.out.println();
}
}
}
答案 0 :(得分:2)
你需要使用嵌套在另一个for循环中的for循环。语法类似于:
for(int i = 0; i < n; ++i)
for(int j = 0; j < i; ++j)
...
根据您想要绘制的三角形,您需要使用由...
替换的表达式以及第二个for循环的初始化和条件。
例如,在(c)中,在第一行(i = 0)上,您希望j从0开始并增加到9(即您打印的星数 - 1)。然后下一行(i = 1),你希望j从0开始并增加到8.你应该注意到一个模式。
答案 1 :(得分:1)
这里有很多人可以在5分钟内为您解答答案。但我认为这不会对你有所帮助。
所以这里有一个提示,关于&gt;&gt;你&lt;&lt;可以自己解决这个问题。
获取所需输出中的每一行,并计算有多少个星星和空格。例如,第一行包括“1颗星,1颗空间,9颗恒星,1颗空间,9颗恒星,1颗空间和1颗恒星”。
在连续的行中查找模式。
根据您推断出的模式和问题陈述中的说明,弄清楚如何输出第i行。
弄清楚如何输出所有行。
此练习完全是关于for
循环。