2011-02-10 7 views
1

이것은 내일 예정인 숙제이며 지난 5 시간 동안 그것을하려고 노력했지만 그 사실을 알 수는 없습니다. 내가해야 할 일을 이해하지만 어디서부터 시작해야할지 모르겠습니다. 내가 시작하거나 조언을 해주면 도움이 될 것입니다. 나는 대답을 할 수 있을까? 나는 그걸 알아 내려고 노력했다. 모든 것을 시도했다.배열 작업

문자열의 문자 수로 이루어진 크기가 27 인 int 배열을 반환해야한다.

  • 'A'자 배열의 위치 0이어야 'A'또는 횟수의 카운트, 'B'문자 위치에 있어야 'B'또는 수의
  • 카운트 1 배열의
  • 'z'또는 'Z'문자의 개수가 배열의 25 번째 위치에 있어야하고 다른 모든 문자의 개수가 배열의 26 번째 위치에 있어야합니다.
  • A "는 다음 어레이 내의 모든 항목을 제외하고 0이어야 예

    • 의 경우에 대한

    " "S 인 경우, 어레이의 모든 엔트리들은 0

  • 이어야" s는! "Baaa는"다음 배열의 모든 항목을 제외하고 0이어야합니다 1.
  • 을해야합니다 항목을 0을위한 : 3 있어야합니다
    • 항목을 0,
    • 항목 1, 어느 당신은 문자열의에 요청할 수있다 1.

유일한 방법이어야한다, 1,

  • 엔트리 (26)를해야합니다 수 charAt (INT)과 길이()입니다.


  • 감사 IV 너희들이 말한 모든 것을 읽고 그 문제와 내가 할 필요를 이해하는 데 많이 도와주었습니다. 임은 여전히 ​​붙어 있었지만 천천히 이것을 얻었습니다. 다시 한번 감사드립니다!

    +3

    우물쭈물하고있는 곳을 볼 수있는 코드를 보여줄 수 있습니다. – chahuistle

    답변

    6
    1. 27 개 요소의 배열을 만듭니다. Official trail on Arrays

    2. 예를 들어 일반적인 for 루프 (Official trail on the for statement)와 String.charAt을 사용하여 문자열의 모든 문자를 반복합니다.

    3. 일반 문자의 경우 Character.toUpperCase(currentChar) - 'A'과 같은 문자를 사용하는 색인을 찾으십시오.

    4. charSums[index]++과 같은 것을 사용하여 배열의 해당 항목을 증가시킵니다.

    +0

    +1. 또한 유의할 점은 배열의 알파벳 문자와 색인 사이를 앞뒤로 변환 할 수 있다는 것입니다. –

    +1

    그는'String.toCharArray'를 사용하는 것이 허용되지 않았지만,'String.charAt'는 어쨌든 충분합니다. –

    +0

    아, 그리워. 업데이트 됨. – aioobe

    0

    그래서 기본적으로 문자열의 알파벳 수를 계산하려고합니다.

    알파벳 배열이 아닌 26 개의 알파벳 + 1 셀이 있기 때문에 반환 배열의 크기는 27입니다. 당신이해야 할 것은 간단하다

    , 1) (

    2

    )는 아이폰에를 사용하여 문자열을 통해 반복, 크기 27 (당신을 위해 0)에 자바 초기화 int 배열 이후 특별한 초기화가 필요하지의 배열을 만들 각 반복에서) 방법

    3) 1.

    힌트가 문자를 얻기 위해 chartAt() 메소드를 사용 단계에서 생성 된 배열의 올바른 셀의 수를 증가 : 고려 어떤 것 'b'- 'a'와 'z'- 'a'리턴.

    0

    알빈이 언급 한 비트를 추가하려고합니다. 문자는 문자열의 문자 일뿐만 아니라 숫자이기도합니다.

    0

    모두와 동일한 단계이지만 4 단계에서 내 솔루션에서 원하는 것보다 훨씬 자세하게 들어갈 수 있습니다. 너무 많은 힌트를 원하지 않으면 읽지 마십시오.

    1. 배열을 초기화 (INT [] 배열 = 새로운 INT [27]

    2. 변환 문자열를 toUpperCase()

    3. 문자열의 모든 문자를 통과하는 루프를 만든다.

    4. 문자를 배열 색인으로 변환하십시오.이 경우, 대/소문자로 ASCII 값을 기반으로하는 int로 변환하는 if/else 변환을 제안합니다. 이 일을하는 것만으로도 (int) 또는 (Integer) 형식 캐스트.이 컴퓨터에 컴파일러가 없는지 확인합니다. 대문자의 ASCII 값 범위 내에 있으면 'A'의 값을 뺀 값을 0으로 만들고 int 값을 사용하여 배열의 값을 증가시킵니다. 값이 ASCII 범위를 벗어나면 else 문을 기본값으로 사용하고 [26]을 증가시킵니다.

    5. for 루프 뒤에 배열을 반환하십시오.