黑马程序员技术交流社区
标题:
控制流程for 的一个很好实例!
[打印本页]
作者:
黄方
时间:
2012-3-17 15:33
标题:
控制流程for 的一个很好实例!
题目:打印出杨辉三角形(要求打印出10行如下图) 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…………
你是如何控制数字与数字之间空格的个数的?整个程序用到了几个循环呀?
作者:
黄方
时间:
2012-3-18 09:58
预备黑马-张晓 发表于 2012-3-17 21:14
class TestT
{
你这只是打印三角形的*哦!
作者:
万正
时间:
2012-3-18 10:54
public class YhuiTest {
public static void main(String[] args){
final int Row = 6;
int yh[][] = new int[Row][Row];
for (int i = 0; i < Row; i++) {
yh[i][0] = 1;
yh[i][i] = 1;
}
for (int i = 2; i < Row; i++) {
for (int j = 1; j < Row; j++) {
yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
}
}
for (int i = 0; i < Row; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(yh[i][j] + " ");
}
System.out.println();
}
}
}
复制代码
作者:
李创
时间:
2012-3-18 10:57
package cn.com.testarray;
import java.util.*;
public class TestYangHui {
/**
* 杨辉三角
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入需打印杨辉三角的行数");
int l=sc.nextInt();
TestYangHui test=new TestYangHui();
test.testMethod(l);
}
public void testMethod(int l){
int [][] m=new int[l][l];
for(int i=0;i<l;i++){
for(int j=0;j<=i;j++){ //注意j的取值范围
if(i==j){
m[i][j]=1;
}else if(j==0){
m[i][j]=1;
}else {
m[i][j]=m[i-1][j-1]+m[i-1][j];
}
}
}
for(int i=0;i<l;i++){
for(int j=0;j<=i;j++){
System.out.print(m[i][j]+"\t");
//System.out.println();
}
System.out.println(); //每打印完一行,再换行
}
}
}
//打印图形时候,一般都要一行行的分析,一行行的打印
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2