题解 | #表示数字#

表示数字

http://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6

这种写法你绝对见不到第二个!!!

绝对的屎山!!!

import java.util.*;
import java.util.regex.*;
public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        List<Character> list = new ArrayList<Character>();
        while(scan.hasNext()){
            String str = scan.nextLine();
            char[] ch = str.toCharArray();
            char ccc = '*';
            for(char c : ch){
                int size = list.size();
                if(size == 0 && String.valueOf(c).matches("[0-9]")){
                    list.add(ccc);
                    list.add(c);
                    continue;
                }
                else if(size == 0){
                    list.add(c);
                    continue;
                }
                
                if(String.valueOf(c).matches("[^0-9]")&&String.valueOf(list.get(size-1)).matches("[0-9]")){
                   list.add(ccc);
                   list.add(c);
                }
                else if(String.valueOf(c).matches("[^0-9]")&&String.valueOf(list.get(size-1)).matches("[^0-9]")){
                    list.add(c);
                }
                if(String.valueOf(c).matches("[0-9]")&&String.valueOf(list.get(size-1)).matches("[^0-9]")){
                    list.add(ccc);
                    list.add(c);
                }
                else if(String.valueOf(c).matches("[0-9]")&&String.valueOf(list.get(size-1)).matches("[0-9]")){
                    list.add(c);
                }
            }
            if(String.valueOf(list.get(list.size()-1)).matches("[0-9]")){
                list.add(ccc);
            }
            for(char c : list){
                System.out.print(c);
            }
        }
    }
}
全部评论

相关推荐

02-11 17:47
已编辑
门头沟学院 Java
神哥不得了:神哥来啦~建议先在网上找一些高频的八股去背,然后再去广泛的背八股,这样的学习会更有效率一些,简历的这两个项目建议换掉,换成两个高质量的项目,这样的话获得面试的比例会更高一点,专业技能的话排版要注意一下,要加句号的话就都加,要不加就都不加,荣誉奖项的话写在教育经历里边吧,这个确实没有太多的含金量
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务