当前位置: 代码迷 >> Java相关 >> 程序代码出错,求教
  详细解决方案

程序代码出错,求教

热度:100   发布时间:2007-12-17 23:23:07.0
程序代码出错,求教
//先讲一下思路:其实我是想玩斗地主时作弊用的 不要骂我哦
//其中all表示所有的牌

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

class dels
{
    static int i=0;
    static int j=0;
     void ca(String all1,String s2)
    {
        for(i=0;i<s2.length();i++)
         {
            for(j=0;j<all1.length();j++)
            {
             if(s2.charAt(i).equals(all1.charAt(j));//字符串s1的第i位与all1的第j位比较,如果相等
               all1.charAt(j-1)=all1.charAt(j);//就删除那个相等的字符。但在这里一直出错
             break;   
            }         
        }
    }
}

public class doudizhu extends Applet implements ActionListener
{
    dels cao=new dels();
    String all=new String("aaaa111122223333444455556666777788889999ttttjjjjqqqqkkkkgw ");
    Label tishi=new Label("提示:所有的牌为a123456789tjqk,小王g大王w");
    Label my=new Label("我的牌");
    TextField mys=new TextField(20);
    Label you=new Label("朋友的牌");
    TextField yous=new TextField(20);
    Label th=new Label("抢牌3张是");
    TextField ths=new TextField(3);
    Button btn=new Button("确定");
    Label emeny=new Label("敌家的牌");
    TextField emenys=new TextField(20);
   
   
    public void init() //将所有的东东添加进来
    {
        add(tishi);
        add(my);add(mys);add(you);add(yous);add(th);add(ths);add(btn);
        add(emeny);add(emenys);
        btn.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) //按“确定”时触发事件
    {
        String myss=new String(mys.getText());
        String youss=new String(yous.getText());
        String thss=new String(ths.getText());
//逐次减去牌
    cao.ca(all,myss);
    cao.ca(all,youss);
    cao.ca(all,thss);
       emenys.setText(all);  //显示玩家的牌   
    }
   
}
这是我第一次写一个小程序,没想到处处碰壁(我还没看到字符串(还有字符)的处理)
顺便问一下,我想在添加一个“清屏”,重新输入一个怎么写呢

[[italic] 本帖最后由 不再 于 2007-12-17 23:34 编辑 [/italic]]
搜索更多相关的解决方案: 代码  

----------------解决方案--------------------------------------------------------
不要用String,用StringBuffer,用delete方法
----------------解决方案--------------------------------------------------------
String是常量字符串,不能删除其中的字符。用StringBuffer可以解决
----------------解决方案--------------------------------------------------------
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

class dels
{
    static int i=0;
    static int j=0;
     void ca(StringBuffer all1,String s2)
    {
        for(i=0;i<s2.length();i++)
         {
            for(j=0;j<all1.length();j++)
            {
             if(s2.charAt(i)==all1.charAt(j))//字符串s1的第i位与all1的第j位比较,如果相等
               all1.deleteCharAt(j);//就删除那个相等的字符。但在这里一直出错                  
            }         
        }
    }
}

class doudizhu extends Applet implements ActionListener
{
    dels cao=new dels();
    String all=new String("aaaa111122223333444455556666777788889999ttttjjjjqqqqkkkkgw ");
    Label tishi=new Label("提示:所有的牌为a123456789tjqk,小王g大王w");
    Label my=new Label("我的牌");
    TextField mys=new TextField(20);
    Label you=new Label("朋友的牌");
    TextField yous=new TextField(20);
    Label th=new Label("抢牌3张是");
    TextField ths=new TextField(3);
    Button btn=new Button("确定");
    Label emeny=new Label("敌家的牌");
    TextField emenys=new TextField(20);
   
   
    public void init() //将所有的东东添加进来
    {
        add(tishi);
        add(my);add(mys);add(you);add(yous);add(th);add(ths);add(btn);
        add(emeny);add(emenys);
        btn.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) //按“确定”时触发事件
    {
        String myss=new String(mys.getText());
        String youss=new String(yous.getText());
        String thss=new String(ths.getText());
//逐次减去牌
    StringBuffer all0= new StringBuffer(all);
    cao.ca(all0,myss);
    cao.ca(all0,youss);
    cao.ca(all0,thss);
    emenys.setText(all);  //显示玩家的牌   
    }
   }
我随便改了点,高手指点一下啊.怎么运行呢?我的好象没办法看运行
----------------解决方案--------------------------------------------------------
我把all改为StringBuffer all=new String Buffer("……");
修改后在这里
emenys.setText(all);  //显示玩家的牌
在这里提示can not find symbol:method setText(java.lang.StringBuffer)
要用什么才能输出这个all呢
----------------解决方案--------------------------------------------------------
emenys.setText(all+"");
----------------解决方案--------------------------------------------------------