朋友来帮忙找下错
题目: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"));
}
}
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还有没有别的写法啊?
我是个初学者很多东西都不明白,还望赐教! ...
Character是什么意思啊?
我写成s.isDigit为什么不对?
还有就是我出了写成是Character.isDigit还有没有别的写法啊?
我是个初学者很多东西都不明白,还望赐教! ...
查查API就知道了
像Character的isDigit是静态方法,并且是是带参数的
不能想当然的使用
要写程序边看API
----------------解决方案--------------------------------------------------------