这是本身有一个CHAR数组。  写了一个方法传两个CHAR值。。先是到本身的CHAR数组里找有没有传进来的第一个CHAR值有就把它换成第二个。。没有反回FALSE。。就是说把这个方法封装了

解决方案 »

  1.   

    只要看懂newPositionSet,剩下的就很简单了。
    注意curPos是个很重要的状态,每次如果newPositionSet找到了字符参数c,就把c的位置记录在curPos里头,并返回true。而replaceNextChar如果发现newPositionSet返回true,就把curPos位置上的那个字符换成参数d。
      

  2.   

    用一个char型数组实现一个栈.
    ReplaceChars()是初始化
    newPositionSet()是返回查询元素是否存在.
    replaceNextChar()在栈顶替代元素
    atEnd()返回栈的长度
      

  3.   

    public class ReplaceChars {

    private char myArray[];//封装,面向思想的一个特点
    private int curPos=0;//类外就读取不到她
    public ReplaceChars (char someArray[]){
    myArray=someArray;}
    public boolean replaceNextChar(char c,char d){
    if (newPositionSet(c)){
    myArray[curPos]=d;
    return true;}
    else {return false;}
    }
    private boolean newPositionSet(char c){//同种道理
    int i=curPos;
    while(i<myArray.length){
    if(c==myArray[i]){
    curPos=i;
    return true;}
    else {i++;}
    }
    return false;
    }
    public boolean atEnd(){
    return(curPos==myArray.length-1);}
    }
    //有其它不懂么?
      

  4.   

    楼主说运行不了?????
    你是不是就这样子编译运行啊??呵呵,这样子没main()那当然运行不了了啊!!
      

  5.   

    public ReplaceChars (char someArray[])这是什么意思???
    someArray[]这没有定义啊!!!
    我用的这本书是不是有问题?
      

  6.   

    这个是方法定义,指传进来的数据类型,char someArray[]就是定义.