不符合条件时需要输出以恢复为原始文本

时间:2018-11-25 11:46:03

标签: java debugging output

当“ charAt(0)”不在“ u”,“ l”,“ e”,“ o”或数字中时,我的程序崩溃。在任何其他情况下如何获取文本以输出原始文本的任何想法,例如“ charAt(0)=” q“?

其中包含代码示例:                 //包括首字母为整数的字母

    } else { int num = Character.getNumericValue(first.charAt(0)); 
        String str = ""; 
        for(int i = 0;i < num;i++){ 
            str += first.charAt(i); 
        }

        first = str;

    }

    System.out.println("The decoded string is: " + first);
}

} 当我运行该程序时,它只是崩溃了。

1 个答案:

答案 0 :(得分:0)

将您的else块替换为以下块并尝试。

    } else {    
        String str = "";        
        if(Character.isDigit(first.charAt(0))){
            int num = Character.getNumericValue(first.charAt(0));               
            for (int i = 0; i < num; i++) {
                str += first.charAt(i);
            }
        }else{
            for (int i = 0; i < first.length(); i++) {
                str += first.charAt(i);
            }
        }
        first = str;
    }