注册 登录
编程论坛 JAVA论坛

杨辉三角,总是不对,大佬帮忙看一下

星i辰 发布于 2019-07-16 16:44, 2672 次点击
import java.util.Scanner;
public class  Demo16{
    public static void main(String[] args){
        /*杨辉三角
             1
            1 1
           1 2 1
          1 3 3 1
         1 4 6 4 1
         */
         Scanner sc=new Scanner(System.in);
         int sum=0;
         //System.out.println("请输入行数,已确定杨辉三角大小:");
         //int a=sc.nextInt();
         int m=1;
         int shu[][]=new int[5][5];
         shu[0][0]=1;
         for(int i=0;i<5;i++){
             for(int k=5;k>i;k--){
                 System.out.print(" ");
             }
             for(int j=0;j<=i;j++){
                 if(j==0||j==i){
                     System.out.print(m+" ");
                 }else{
                     shu[i][j]=shu[i-1][j]+shu[i-1][j-1];
                     System.out.print(shu[i][j]+" ");
                 }   
                 
             }
             System.out.println();
         }
    }
}
4 回复
#2
星i辰2019-07-16 18:55
没人吗。。
#3
红柚2019-07-17 11:10
if(j == 0 || j == i){
                     System.out.print(m+" ");

你改成
if(j == 0){
                     continue;

试下


然后其实问题可能是当j==i的时候你就直接输出了,没有进入else中了,所以看着就没有运算
如果是用eclipse,可以调试看下的,有没有进入运算

[此贴子已经被作者于2019-7-17 11:13编辑过]

#4
星i辰2019-07-17 11:20
谢了,我已经找到了,就是m的问题,我直接给输出1,所以数组中的元素一直都是0,所以没有相加
#5
林月儿2019-07-18 11:15
1