eclipse运行这个JAVA程序没有运行完整是怎么回事?
publicclassStringBufferExample{publicstaticvoidmain(String[]args){StringBufferstr=new...
public class StringBufferExample {
public static void main(String[] args) {
StringBuffer str=new StringBuffer("ABCDEFG");
str.append("123456789");
System.out.println(str);
str.setCharAt(2, 'b');
System.out.println(str);
str.insert(6, "Game");
System.out.println(str);
int index=str.indexOf("1");
str.delete(index, index+4);
int n=str.length();
str.replace(n-3, n, "七八九");
System.out.println(str);
StringBuffer otherStr=new StringBuffer("we love you");
int start=0;
char c='\0';
while(start!=-1){
if(start!=0)
start=start+1;
c=otherStr.charAt(start);
if(Character.isLowerCase(c)){
c=Character.toUpperCase(c);
otherStr.setCharAt(start, c);
}
start=otherStr.indexOf("",start);
}
System.out.println(otherStr);
StringBuffer yourStr=new StringBuffer("i Love THIS GaME");
for(int i=0;i<yourStr.length();i++){
char c1=yourStr.charAt(i);
if(Character.isLowerCase(c1)){
c1=Character.toUpperCase(c1);
yourStr.setCharAt(i, c1);
}
else if(Character.isUpperCase(c1)){
c1=Character.toUpperCase(c1);
yourStr.setCharAt(i, c1);
}
}
System.out.println(yourStr);
}
}
结果:
ABCDEFG123456789
ABbDEFG123456789
ABbDEFGameG123456789
ABbDEFGameG56七八九
只是出来部分,后面的没有出来怎么回事? 展开
public static void main(String[] args) {
StringBuffer str=new StringBuffer("ABCDEFG");
str.append("123456789");
System.out.println(str);
str.setCharAt(2, 'b');
System.out.println(str);
str.insert(6, "Game");
System.out.println(str);
int index=str.indexOf("1");
str.delete(index, index+4);
int n=str.length();
str.replace(n-3, n, "七八九");
System.out.println(str);
StringBuffer otherStr=new StringBuffer("we love you");
int start=0;
char c='\0';
while(start!=-1){
if(start!=0)
start=start+1;
c=otherStr.charAt(start);
if(Character.isLowerCase(c)){
c=Character.toUpperCase(c);
otherStr.setCharAt(start, c);
}
start=otherStr.indexOf("",start);
}
System.out.println(otherStr);
StringBuffer yourStr=new StringBuffer("i Love THIS GaME");
for(int i=0;i<yourStr.length();i++){
char c1=yourStr.charAt(i);
if(Character.isLowerCase(c1)){
c1=Character.toUpperCase(c1);
yourStr.setCharAt(i, c1);
}
else if(Character.isUpperCase(c1)){
c1=Character.toUpperCase(c1);
yourStr.setCharAt(i, c1);
}
}
System.out.println(yourStr);
}
}
结果:
ABCDEFG123456789
ABbDEFG123456789
ABbDEFGameG123456789
ABbDEFGameG56七八九
只是出来部分,后面的没有出来怎么回事? 展开
3个回答
展开全部
同学,你的程序陷入死循环了,start开始赋值为0
start=otherStr.indexOf("",start);这段程序执行后start一直为0的
所以下面这段程序也不会执行喽
if(start!=0)
start=start+1;
所以while循环一直执行,因此下面的程序不会被执行
我觉得你应该是想找空格吧
把start=otherStr.indexOf("",start);改为start=otherStr.indexOf(" ",start);
就可以了,希望我没有理解错你本来的用意
只供参考,如有不对的地方还请见谅,谢谢
start=otherStr.indexOf("",start);这段程序执行后start一直为0的
所以下面这段程序也不会执行喽
if(start!=0)
start=start+1;
所以while循环一直执行,因此下面的程序不会被执行
我觉得你应该是想找空格吧
把start=otherStr.indexOf("",start);改为start=otherStr.indexOf(" ",start);
就可以了,希望我没有理解错你本来的用意
只供参考,如有不对的地方还请见谅,谢谢
展开全部
当然,程序的业务逻辑是有问题的。,进入了死循环。后边的代码都没有执行,在判断 if(start!=0)
之前,,start的值一直没有改变,是初始值0,没有尽到你的方法体内,下边的if方法体也没进去。在最开始while判断,就一直不等于-1,进入死循环,下边的代码根本没有执行。
之前,,start的值一直没有改变,是初始值0,没有尽到你的方法体内,下边的if方法体也没进去。在最开始while判断,就一直不等于-1,进入死循环,下边的代码根本没有执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
start=otherStr.indexOf("",start); , 双引号之间空格“ ”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询