实验四:采用一维数组输出等腰三角形的杨辉三角

一、源代码

package do_while_package;
import java.util.*;//导入含有输入类的包
public class do_while_class {

/**
* @param args
*/
public static void main(String[] args) {
int []a = new int[2000];
int i,j,n,k;
Scanner in=new Scanner(System.in);//使用Scanner类定义对象
System.out.print("请输入行数:");
n=in.nextInt();
k=0;
while(n--!=0)
{ //printf("%d",n);此时n已经变成n-1了!!!!!!!
a[k++]=1; //此后的k已经变成k+1了!!!!!!但是此处还是用的a[k],j
for(i=k-2;i>=1;i--)
a[i]+=a[i-1];
for(i=0;i<n;i++)
System.out.print(" ");
for(i=0;i<k;i++){
System.out.print(" ");//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
System.out.print(a[i]);//上面已经输出空格了,这个就是往空格后面放的
}
System.out.print("\n");
}
}

}

二、结果

请输入行数:5
     1
    1 1
  1 2 1
 1 3 3 1
1 4 6 4 1

三、心得

1、构建数组时,要给定数组长度String []a = new String[2000];,String代表此数组是字符串数组,可以改成int型。

2、Java中不能while(n--),while要一个boolean表达式,而n--显然不是boolean类型。可以写成这样while(n--!=0)。

3、a[k++]=1; //此后的k已经变成k+1了!!!!!!但是此处还是用的a[k]。

4、注意如何格式输出空格。

posted @ 2019-03-30 17:19  牛明旺  阅读(529)  评论(1编辑  收藏  举报