如何删除直方图[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