문자열의 각 고유 문자의 평균을 얻고 싶습니다. 설명하기 쉽기 때문에 여기에 예제가 있습니다.자바 문자열의 각 문자의 상대 빈도 얻기
문자열 : 공백을 포함하여 각 문자의
The big brown fox
평균 :
T = 1/17 = .058
h = 1/17 = .058
e = 1/17 = .058
' '= 3/17 = .176
b = 2/17 = .117
i = 1/17 = .058
g = 1/17 = .058
r = 1/17 = .058
o = 2/17 = .117
w = 1/17 = .058
n = 1/17 = .058
f = 1/17 = .058
x = 1/17 = .058
지금까지 내 모든 시도가, 내 머리가 순간에 작동하지 않는 생각 실패했습니다. 이 코드는 어떻게 작성합니까? 도움이나 의견을 크게 주시면 감사하겠습니다.
나는이 코드를 해결책으로 갖고있다. 여기에 코드를 붙여 넣을 때 사본이 나왔습니다. 몇 분 전에 똑같은 대답을했기 때문에 이것이 재 게시가 아니기를 바랍니다. 그러나 그것은 나타나지 않았습니다. 여기
Map<String, Integer> storeCharCount = new HashMap<String, Integer>();
String a = "The big brown fox";
for (int x=0; x<a.length(); x++){
char getChar = a.charAt(x);
String convGetChar = Character.toString(getChar);
Integer countChar = storeCharCount.get(convGetChar);
storeCharCount.put(convGetChar, (countChar==null?countChar=1:countChar+1));
}
System.out.println("Map: "+ storeCharCount);
double RelFrequency = 0;
for (Map.Entry<String, Integer> getValue: storeCharCount.entrySet()){
RelFrequency = (double)(getValue.getValue())/(a.length());
System.out.println("Character "+getValue.getKey() +" Relative Frequency: "+RelFrequency);
}
내가 그것이 가장 좋은 방법은 아니라고 생각
Map: {f=1, g=1, =3, e=1, b=2, n=1, o=2, h=1, i=1, w=1, T=1, r=1, x=1}
Character f Relative Frequency: 0.058823529411764705
Character g Relative Frequency: 0.058823529411764705
Character Relative Frequency: 0.17647058823529413
Character e Relative Frequency: 0.058823529411764705
Character b Relative Frequency: 0.11764705882352941
Character n Relative Frequency: 0.058823529411764705
Character o Relative Frequency: 0.11764705882352941
Character h Relative Frequency: 0.058823529411764705
Character i Relative Frequency: 0.058823529411764705
Character w Relative Frequency: 0.058823529411764705
Character T Relative Frequency: 0.058823529411764705
Character r Relative Frequency: 0.058823529411764705
Character x Relative Frequency: 0.058823529411764705
java.util.HashMap에 될 가장 똑바로 앞으로 솔루션 <문자, 정수> – Corbin
: 다른 발견 다음 1. 추가 인쇄 결과를 다시 반복 할 경우, 문자열, 업데이트 주파수에서 모든 문자를 통해 반복하여 시작 당신이 한 일을 우리가 보여 주면 그곳에서 일할 수 있습니까? 나는 우리 모두가 그것으로부터 배울 수있을 것이라고 확신한다. – Ewald
map.put (character, charCount = null? charCount = 0 : charCount + 1)을 사용하여 변형을 시도했지만이 코드는 각 문자의 합계를 제공 할 수 있으며이 맵의 값 부분을 얻는 데 어려움이 있습니다. " 지도 (키, 값) ". – dimas