| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10760 人关注过本帖
标题:java 杨辉三角
取消只看楼主 加入收藏
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
java 杨辉三角
最近写了一个关于杨辉三角的代码,不过出了些问题
代码如下:
import javax.swing.JOptionPane;
public class San
{
  public static void main(String args[])
{
   String row;
   int row1;
   row=JOptionPane.showInputDialog("输入行数:");
   row1=Integer.parseInt(row);
   int ss[][]=new int[row1][];
   int i,j;
   ss[0][0]=ss[1][0]=ss[1][1]=1;
   for(i=3;i<row1;i++)
   {
    ss[i][0]=ss[i][i-1]=1;
    for(j=0;j<i-1;j++)
    {
      ss[i][j]=ss[i-1][j]+ss[i-1][j+1];
    }
   }
   for(i=0;i<row1;i++)
  {
   for(j=0;j<i-1;j++)
  {
   System.out.print(ss[i][j]);
   }
   System.out.println();
   }
   System.exit(0);
}
}
运行结果如下:
Exception in thread "main" java.lang.NullPointerException
        at San.main(San.java:12)
另外还有一个问题:如果成功更改的话,杨辉三角会以直角三角形的方式输出,但是如果要用等腰三角形输出呢,能不能把其中的重要部分写一下,谢谢帮助。
搜索更多相关主题的帖子: 杨辉三角 java 
2010-03-25 20:46
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 4楼 dadongzicool
谢谢,其实是没有偏移的,不过,因为有的行有两个两位数,而下一行三个两位数,故此多了一位;因此下面的行都有这样后果,因而显得偏移了一行,不知道我解释的对不对。

我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-03-26 20:54
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 4楼 dadongzicool
版主,问一下,java里面有没有一个函数或类能限制“输出数”以几个格输出。

我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-03-27 09:40
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 9楼 dadongzicool
谢谢

我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-03-27 12:23
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 11楼 dadongzicool
呵呵。谢谢答复。

我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-03-27 12:24
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 2楼 lampeter123
我该进了一下这个代码,还是出现了类似的问题;
代码:
package zy;
import javax.swing.JOptionPane;
public class San
{
  public static void main(String args[])
{
   String row;
   int row1;
   row=JOptionPane.showInputDialog("输入行数:");
   row1=Integer.parseInt(row);
   int ss[][]=new int[row1][row1];
   int i,j;
   ss[0][0]=1;
   ss[1][0]=1;
   ss[1][1]=1;
   for(i=2;i<row1;i++)
   {
    ss[i][0]=1;
    ss[i][i]=1;
    for(j=1;j<i;j++)
    {
      ss[i][j]=ss[i-1][j]+ss[i-1][j-1];
    }
   }
   for(i=0;i<row1;i++)
  {
   for(int a=1;a<=(row1-i);i++)
  {
   System.out.print("    ");
   }
   for(j=0;j<=i;j++)
  {
   System.out.printf("%4d",ss[i][j]);
   System.out.print("    ");
   }
   System.out.println();
   }
   System.exit(0);
}
}

出错如下:
D:\>java zy.San
                        Exception in thread "main" java.lang.ArrayIndexOutOfBoun
dsException: 6
        at zy.San.main(San.java:33)

D:\>

我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-04-10 20:57
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 3楼 dadongzicool
我该进了一下这个代码,还是出现了类似的问题;
代码:
package zy;
import javax.swing.JOptionPane;
public class San
{
  public static void main(String args[])
{
   String row;
   int row1;
   row=JOptionPane.showInputDialog("输入行数:");
   row1=Integer.parseInt(row);
   int ss[][]=new int[row1][row1];
   int i,j;
   ss[0][0]=1;
   ss[1][0]=1;
   ss[1][1]=1;
   for(i=2;i<row1;i++)
   {
    ss[i][0]=1;
    ss[i][i]=1;
    for(j=1;j<i;j++)
    {
      ss[i][j]=ss[i-1][j]+ss[i-1][j-1];
    }
   }
   for(i=0;i<row1;i++)
  {
   for(int a=1;a<=(row1-i);i++)
  {
   System.out.print("    ");
   }
   for(j=0;j<=i;j++)
  {
   System.out.printf("%4d",ss[i][j]);
   System.out.print("    ");
   }
   System.out.println();
   }
   System.exit(0);
}
}

出错如下:
D:\>java zy.San
                        Exception in thread "main" java.lang.ArrayIndexOutOfBoun
dsException: 6
        at zy.San.main(San.java:33)

D:\>


我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-04-10 20:57
hanxingxing
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-3-14
收藏
得分:0 
回复 2楼 lampeter123
不用了,找到问题了。最后代码如下:
package zy;
import javax.swing.JOptionPane;
public class San
{
  public static void main(String args[])
{
   String row;
   int row1;
   row=JOptionPane.showInputDialog("输入行数:");
   row1=Integer.parseInt(row);
   int ss[][]=new int[row1][row1];
   int i,j;
   ss[0][0]=1;
   ss[1][0]=1;
   ss[1][1]=1;
   for(i=2;i<row1;i++)
   {
    ss[i][0]=1;
    ss[i][i]=1;
    for(j=1;j<i;j++)
    {
      ss[i][j]=ss[i-1][j]+ss[i-1][j-1];
    }
   }
   for(i=0;i<row1;i++)
  {
   for(int a=1;a<=(row1-i);a++)
  {
  System.out.print("    ");
   }
   for(j=0;j<=i;j++)
  {
   System.out.printf("%4d",ss[i][j]);
   System.out.print("    ");
   }
   System.out.println();
   }
   System.exit(0);
}
}

我相信每个人都是独立的存在,了解并相信自己才是对自己负责任!
2010-04-10 21:01
快速回复:java 杨辉三角
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045911 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved