| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:求助,简易JAVA程序
只看楼主 加入收藏
唤然
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-8-22
收藏
 问题点数:0 回复次数:2 
求助,简易JAVA程序
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
public class yanghui extends Applet implements ActionListener{
    Label lb1=new Label("请输入要显示的行数:");
    TextField txt1=new TextField(4);
    Button btn=new Button("确定");
    int n=0;
    int[][] yang;
    public void init(){
        add(lb1);
        add(txt1);
        add(btn);
        btn.addActionListener(this);
        }
    public void actionPerformed(ActionEvent e){
        n=Integer.parseInt(txt1.getText());
        yang=yanghui(n);
        repaint();
        }
    public void paint(Graphics g){
        for(int i=0;i<n;i++){
            String s=" ";
            for(int j=0;j<=i;j++){
                if (yang[i][j]<10)
                    s=s+yang[i][j]+"     ";
                else if (yang[i][j]<100)
                    s=s+yang[i][j]="    ";
                else if (yang[i][j]<1000)
                    s=s+yang[i][j]+"   ";
                else
                    s=s+yang[i][j]+"  ";
                }
            g.drawString(s,250-16*i,50+16*i);
            }
        }   
    int[][] yanghui(int i){
        int s[][]=new int[i][];
        for (int x=0;x<s.length;x++)
            s[x]=new int[x+1];
            s[0][0]=1;
        for (int y=1;y<s.length;y++){
            s[y][0]=1;
            s[y][s[y].length-1]=1;
            for (int z=1;z<s[y-1].length;z++)
                s[y][z]=s[y-1][z-1]+s[y-1][z];
            }
            return s;
        }
    }
   
运行结果是:
yanghui.java:28:意外的类型
需要:变量
找到:值                    s=s+yang[i][j];
1错误

这个是杨辉三角数值,上面这个我是按照书上的写下来的!自己修改后也是不行!是不是字符型的S不能与数值型的YANG相加呢?那要怎么改      

下面这个是我自己写的!
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
public class yanghui extends Applet implements ActionListener{
    Label lb1=new Label("请输入要显示的行数:");
    TextField txt1=new TextField(4);
    Button btn=new Button("确定");
    int n=0;
    int[][] yang;
    public void init(){
        add(lb1);
        add(txt1);
        add(btn);
        btn.addActionListener(this);
        }
    public void actionPerformed(ActionEvent e){
        n=Integer.parseInt(txt1.getText());
        repaint();
        }
    int[][] yang(){
        for (int i=1;i<=n;i++){
            for (int j=1;j<=i;j++){
                 if(j>1&j<=i-1)
                 yang[i][j]=yang[i-1][j-1]+yang[i-1][j];
                
                 else
                 yang[i][j]=1;
                }
            }
            return yang;
        }    
    public void paint(Graphics g){
        String s="";
        for(int i=1;i<=n;i++){
            for (int j=1;j<=i;j++){
                s=yang[i][j]+"  ";
            g.drawString(s,250-16*i,50+16*i);
            }}
        }
    }      
    
    那位大哥帮我修改一下
搜索更多相关主题的帖子: java 
2008-08-22 14:14
唤然
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-8-22
收藏
得分:0 
难道没人吗
2008-08-22 19:21
shaoheng
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-8-23
收藏
得分:0 
前面的代码有个地方敲错哒吧, else if (yang[i][j]<100)
                    s=s+yang[i][j]="    ";
把"="改成"+"
2008-08-23 23:07
快速回复:求助,简易JAVA程序
数据加载中...
 
   



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

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