谁能给我讲下 JAVA 打印正三角形和到三角形的原理?
RT ,网上 好多 只有 代码 看不懂 谁能给我讲一下 不要 代码 说下怎么实现的
[最优解释]
/*
作者:唐良运
功能:用java实现金字塔的模型
* * * *
** *** * * * *
*** ***** * * * *
**** ******* ******* * *
*
该问题主要考虑空格与*的排列问题!
*/
public class Pyramid
{
public static void main(String[] args){
//先将层数控制为4层
int layer = 7;
//i表示多少层
for(int i=1;i<=layer;i++){
//先打印第一个图形;打印第二个图形
//找空格规律:1->3,2->2,3->1,4->0
for(int k=1;k<=layer-i;k++){
//打印空格
System.out.print(" ");
}
//改变*的控制i->2i-1
//1->1,2->3,3->5,4->7
for(int j=1;j<=2*i-1;j++){
//第三个是一个镂空的三角形
//判断该层是否为顶层或底层
if(i==1
[其他解释]
正三角形:
第1行: *
第2行: ***
第3行: *****
第4行:*******
先要会输出直角三角形,然后内层循环控制每行输出的空格和星星(空格数量随着外层循环变量递减,但是星星数量随着外层循环变量递增),外层循环控制输出多少行。
倒三角形 不是一样一样的吗、
[其他解释]
搞是搞懂了 但又有新的问题了
[其他解释]
内循环控制输出的空格 我了解清楚了 也学会了 直角的 但是控制星星的那层循环 不会
第一行:一个
第二行:三个
第三行:五个
第四行:七个
这个不知道怎么写
[其他解释]
i==layer){
System.out.print("*");
}else{
//找是否是第一个或是最后一个
if(j==1
[其他解释]
j==2*i-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
//打印换行
System.out.println();
}
}
}
*********
***********
*************
***************
*****************
*******************
这个
[其他解释]
我看了 好久 都不明白 是乍回事 自己打了 才知道是令一种三角形
[其他解释]
自己改一下数字都不会啊,原理写了,理解后自己改改不就有了,不要期待别人把问题都给你解决了
[其他解释]
自己好像太笨了 看了好久都还没理解
[其他解释]
内层 控制行(即每行几个星星),
外层控制列(即 共几列)
[其他解释]
如果看不懂,就把每一步的相关数据都输出,(System.out.println())包括循环里面的 i j k等变量,最好先那小三角形试,一点一点就理解了。
[其他解释]
public class exam
{
public static void main(String[] args)
{
for(int i=0;i<10;i++) //i=1
{
for(int j=i;j<10;j+=2) //j=1
{
System.out.print(" ");
}
for(int k=0;k<=i*4;k+=2)
{
System.out.print("*");
}
System.out.println();
}
}
}
最后输出结果:
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
我想要这面这个三角形,知道规律,但不知道怎么用代码表现出来
第1行10个空格
第2行 8个空格
每行逐一递减2个 怎么用代码表示
// * //空10个 打印1个
// * * * //空 8个 打印3个
// * * * * * //空 6个 打印5个
// * * * * * * * //空 4个 打印7个
// * * * * * * * * * //空 2个 打印9个
[其他解释]
你初中数学及格过没?及格过就把你那三个数字(行 空 星)自己写个代数表达式出来,没及格过就不用了。