当前位置: 代码迷 >> Java相关 >> 朋友来帮忙找下错
  详细解决方案

朋友来帮忙找下错

热度:258   发布时间:2008-04-06 23:22:43.0
朋友来帮忙找下错
题目:4.编写程序在一个字符串中所有非字母、数字字符位置再插入同样的一个字符

我的程序如下:
class zy04 {
    public StringBuffer str;
    public zy04() {
    }

    public static void main(String[] args) {
        int i=0,j=0;
        String s=" ";
        String ss=" ";
       StringBuffer str=new StringBuffer("Thanks,for.your?help");
       j=str.length();
       for(i=0;i<j;i++)
       {
           ss=str.substring(i);
           if (ss.compareTo("A")>=0 && ss.compareTo("Z")<=0 ||
               ss.compareTo("a")>=0 && ss.compareTo("z")<=0 ||
               ss.compareTo("0")>=0 && ss.compareTo("9")<=0)
           {
             s=ss;
             str.insert(i-1,s);
             j=str.length();
             i=i+2;
           }
       }
      
       System.out.println(str.toString());
    }
}
麻烦各位看一下 哪儿错了 谢谢!
搜索更多相关的解决方案: 朋友  

----------------解决方案--------------------------------------------------------
程序代码:
public class JavaProgram{
    public static String proc(String s){
        StringBuffer sb = new StringBuffer(s);
        int l = sb.length();
        char c;
        for (int i = 0;i < l;++i){
            c = sb.charAt(i);
            if (!Character.isDigit(c) && !Character.isLetter(c)){
                sb.insert(i,c);
                ++l;
                ++i;
            }
        }
        return sb.toString();
    }
    public static void main(String[] args){
        System.out.println(proc("Thanks,for.your?help"));
    }        
}


输出:Thanks,,for..your??help

不知道是不是这个意思
----------------解决方案--------------------------------------------------------
强人,就是这个意思! 不过能不能麻烦您给我稍微的解释一下呢?

[[it] 本帖最后由 xiaolaba3330 于 2008-4-7 01:03 编辑 [/it]]
----------------解决方案--------------------------------------------------------
你的代码赋值来赋值去的,我也没看明白,不过有一点,你插入一个char后,字符串长度会改变,你要注意越界的问题。

我的很容易明白吧,你认真看的话,我是查文档(那些方法)写的,我只知道java最基础的语法而已。
----------------解决方案--------------------------------------------------------
Character是什么意思啊?

我写成s.isDigit为什么不对?

还有就是我出了写成是Character.isDigit还有没有别的写法啊?

我是个初学者很多东西都不明白,还望赐教!
----------------解决方案--------------------------------------------------------
Character是什么意思啊?
char的包装器类型,也就是对象

我写成s.isDigit为什么不对?
你要查看这个方法是怎么用,不能想当然,类库是比人这样设计的

还有就是我出了写成是Character.isDigit还有没有别的写法啊?
有,就是你写的那样,判断一个字符在AscII中的位置,不过你那个compareTo是比较字符串的

我是个初学者很多东西都不明白,还望赐教
你最好去下载一个jdk文档,不懂的方法,需要的方法就查阅,编程就是这样,人是记不住那么多的


加油,我也算个java初学者。睡觉了,晚安。
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]xiaolaba3330[/un] 在 2008-4-7 01:21 的发言:[/bo]

Character是什么意思啊?

我写成s.isDigit为什么不对?

还有就是我出了写成是Character.isDigit还有没有别的写法啊?

我是个初学者很多东西都不明白,还望赐教! ...

查查API就知道了
像Character的isDigit是静态方法,并且是是带参数的
不能想当然的使用

要写程序边看API
----------------解决方案--------------------------------------------------------
  相关解决方案