0에서 9까지의 숫자 (배열) 목록을 취하여 각 숫자의 발생 횟수를 출력하는 히스토그램 (Java)을 작성하는 데 도움이 필요합니다. 그래서 예를 들어, {1,5,3,4,5,5,5,4,3,2,5,5,5,}
로 인쇄 것입니다 :히스토그램을 작성하는 방법은 무엇입니까?
0 - 0
1 - 1
2 - 1
3 - 3
4 - 2
5 - 7
6 - 0
7 - 0
8 - 0
9 - 0
이것은 내가 지금까지 가지고있는 코드 :
import java.util.Scanner;
public class Histogram
{
private int[] numCount;
public Histogram(int[] array)
{
setArray(array);
}
public void setArray(int[] array)
{
numCount=array;
}
public String toString()
{
int count=0;
String boi="";
for(int x=0; x<=9; x++)
{
for (int y=0; y<numCount.length; y++)
{
if (numCount[x]==numCount[y])
count++;
boi=x+" - "+ count+"\n";
}
}
return boi;
}
}
나는 (별도의 러너 파일)이 실행을 "9-40"이 인쇄됩니다. 제안 할 수있는 도움을 크게 감사 할 것입니다. 고맙습니다!
(또한
boi += x + " - " + count + "\n";
또는StringBuilder
과append
-method를 사용할 수 있습니다) 당신이'의미 생각 (있는 경우 numCount [y] == x)' – Andreas각 루프마다 boi 문자열을 추가하지만 모든 숫자가 반복 될 때까지 최종 히스토그램을 알 수 없습니다. – bejado
실제로'boi '에 * 추가하고'y' 루프 바깥에서 처리하고'count = 0'을 초기화하려면'boi + = x + "-"+ count + "\ n" 'x' 루프 안에. 그것은 4 개의 논리 오류였습니다. – Andreas