有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java打印具有相同字符的行中的重复字符

我正在尝试一个问题,那就是: 从数组中逐行打印重复值,即每行具有相同字符

例如:

char[] arr1={a,a,a,a,b,b,b,b,c,c,c,c,e,e,g,f,h}; 

输出应如下所示:

aaaa 
bbbb
cccc  
ee 
g 
f 
h

共 (2) 个答案

  1. # 1 楼答案

    您需要确保首先对输入进行排序,即使用数组。排序()。一旦完成,你可以循环输入并打印每个字符。每当下一个字符不同时,打印一行新字符

    另一种选择是创建某种类型的每个字符的计数存储,例如LinkedHashMap(),但这将过于复杂

    char[] arr1 = { 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'e', 'e', 'g', 'f', 'h' };
    
    Arrays.sort(arr1);
    for (int i = 0; i < arr1.length; i++) {
        char each = arr1[i];
        System.out.print(each);
        if (i + 1 < arr1.length && arr1[i + 1] != each) {
            System.out.println();
        }
    }
    

    输出

    aaaa
    bbbb
    cccc
    ee
    f
    g
    h
    
  2. # 2 楼答案

    这可能会帮助你。。。执行

    class Arr12 
           {
               public static void main(String[] args) 
    { char[] arr1=new char[]  {'a','a','a','a','b','b','b','b','c','c','c','c','e','e','g','f','h'}; 
    
        String text = String.copyValueOf(arr1);//Converting Char[] to String
    
    
        String[] strArr= text.split("(?<=(.))(?!\\1)");//This is Regular Expression
     for (int i=0;i<strArr.length ;i++ )//Printing
            {
                System.out.println(strArr[i]);
            }
    }
      }