Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除直方图[JAVA]中的重复字符 类Mclass{ 公共静态void main(字符串[]args){ char[]a={'a','b','c','d','a','b','c'}; 整数计数=0; 对于(int i=0;i_Java_Loops_Histogram - Fatal编程技术网

如何删除直方图[JAVA]中的重复字符 类Mclass{ 公共静态void main(字符串[]args){ char[]a={'a','b','c','d','a','b','c'}; 整数计数=0; 对于(int i=0;i

如何删除直方图[JAVA]中的重复字符 类Mclass{ 公共静态void main(字符串[]args){ char[]a={'a','b','c','d','a','b','c'}; 整数计数=0; 对于(int i=0;i,java,loops,histogram,Java,Loops,Histogram,不在循环内打印 保存计数并在循环外打印 这样做: class Mclass { public static void main(String[] args) { char[] a= {'a','b','c','d','a','b','c'}; int count = 0; for (int i=0; i<a.length; i++) { for(int j=0; j<

不在循环内打印

保存计数并在循环外打印

这样做:

class Mclass {
        public static void main(String[] args) {

        char[] a= {'a','b','c','d','a','b','c'};
        int count = 0;

        for (int i=0; i<a.length; i++)
        {
                  for(int j=0; j<a.length; j++)
                  {
                      if ( a[j] == a[i] )
                          count += 1;
                  }
                  System.out.println(a[i]+":"+count);
                  count = 0;
        }
    }
公共类Mclass{
公共静态void main(字符串[]args){
char[]a={'a','b','c','d','a','b','c'};
整数计数=0;
映射输出=新的HashMap();

对于(int i=0;i如果您不想打印已打印的字符,则需要将其保存在
集合
中的某个位置,并且仅当
集合
不包含该字符时才打印,打印后,将其添加到
集合
,以便下次打印时不会打印该字符

将您的代码更改为此

public class Mclass {
    public static void main(String[] args) {

    char[] a= {'a','b','c','d','a','b','c'};
    int count = 0;
    Map<String,Integer> output = new HashMap<>();

    for (int i=0; i<a.length; i++)
    {
              for(int j=0; j<a.length; j++)
              {
                  if ( a[j] == a[i] )
                      count += 1;
              }
              output.put(Character.toString(a[i]), count);
              //System.out.println(a[i]+":"+count);
              count = 0;
    }
    System.out.println(output);
  }
}

从已经做的事情开始,首先对数组排序,然后尝试计数

a:2
b:2
c:2
d:1
a:2
b:2
c:2
d:1
import java.util.*;
class Mclass {
    public static void main(String[] args) {
        char[] a= {'a','b','c','d','a','b','c'};
        int count = 0;
        Arrays.sort(a);  // sort the array
        for (int i=0; i<a.length; i++)
        {
          for(int j=i; j<a.length; j++)
          {
              if ( a[j] == a[i] ){
                  count += 1;
                  continue;
              }          
              i=j-1;
              break;
          }
          System.out.println(a[i]+":"+count);
          count = 0;
        }
    }
}
a:2
b:2
c:2
d:1