请教Java大佬们一个小问题~

import java.text.DecimalFormat;
importjava.util.*;
publicclassMain{
    publicstaticvoidmain(String[] args) {
        Scanner scanner=newScanner(System.in);
        String str=scanner.nextLine();
        String [] strArr=str.split(" ");
        intleft=0,right=strArr.length-1;
        String temp=null;
        while(left<right){
            temp=strArr[left];
            strArr[left]=strArr[right];
            strArr[right]=temp;
        }
        StringBuffer sb=newStringBuffer();
        for(intk=0;k<strArr.length;k++){
            sb.append(strArr[k]+" ");
        }
        sb.deleteCharAt(sb.length()-1);//把末尾的空格去掉
        System.out.println(sb);
    }
}

这是一个字符串倒叙的例子。想问一下大佬们,自己在eclipse跑的时候就卡住不动了,也没有任何报错就是在那执行不动了。我觉得这段代码应该是有点
点问题的,但是它卡在那里不动,又不报错我就不知道怎么改了,有老铁们遇到过类似问题吗?
全部评论
你的left和right不变嘛?
点赞 回复 分享
发布于 2017-09-13 22:10
while死循环啊
点赞 回复 分享
发布于 2017-09-13 22:10
死循环了,老铁
点赞 回复 分享
发布于 2017-09-13 22:10
单步 或者 jconsole jvisualvm 看堆栈信息判断程序死在哪里了
点赞 回复 分享
发布于 2017-09-13 22:13
不动一般是死循环了
点赞 回复 分享
发布于 2017-09-13 22:14
你要自己点击Console,然后用键盘输入值,再按回车。。。可以试下
点赞 回复 分享
发布于 2017-09-13 22:18
while死循环里面交换时 left++ right --
点赞 回复 分享
发布于 2017-09-13 22:48
我明白啦,忘加结束循环的条件了。。以后遇到这种问题就往死循环上想就行了😂😂
点赞 回复 分享
发布于 2017-09-13 23:05
看不出来就单步调试 几下子就出来了
点赞 回复 分享
发布于 2017-09-13 23:37

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务