实验四:采用一维数组输出等腰三角形的杨辉三角
一、源代码
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、注意如何格式输出空格。