2014-02-26 1 views
-9

내가 이렇게 같은 숫자의 문자열로 int를 변환해야합니다 할당이 개별 자리에 문자열로 int를 변환 : 하나 둘 셋는</p> <p>(123), 자바

193 : 한 구 세

String.valueof() 메서드를 사용하고 char 배열로 변환 할 수 없습니다! 이것을하는 다른 방법은 무엇입니까? 계수?

+8

이 사이트는 당신의 숙제를하는 것이 아니라 코드를 수정하지 않습니다. – AntonH

+1

왜 캐릭터를 반복 할 수 없습니까? –

+0

숫자를 100으로 나눈 다음 그 정수를 가져 와서 'String'으로 변경 한 다음 그 부분을 빼고 10으로 나눕니다. –

답변

0

1 단계 : 문자열로 INT 변환 (새 정수 (123)로 .toString())

2 단계 : (각 문자에) 당신의 문자열에 루프

단계 3 : 루프 그래서 그 모양을 숫자

를 나타내는 실제 단어를 인쇄 9-0의 값에 스위치를,이 같은 :

String intStringValue = new Integer(123).toString(); 
for(char c : intStringValue.toCharArray()) { 
    int digit = Integer.parseInt(new String(new char[] {c})); 
    switch(digit){ 
     case 0: System.out.print("zero "); break; 
     case 1:.... 
    } 
} 
+0

이것은 OP가 배우는 데 도움이 될 것입니다 ... –

+1

It 's also more 이하로 String.valueof()를 사용하고 명시 적으로 잘못된 솔루션으로 명시된 문자 배열로 변환합니다. – turbo

0
public class HelloWorld{ 

    public static void main(String []args) 
    { 
     String values[]={"zero","one","two","three","four","five","six","seven","eight","nine"}; 
     int number=453; 
     String num=Integer.toString(number); 
     for(int i=0;i<num.length();i++) 
      { 
      char index=num.charAt(i); 
      System.out.print(values[Character.getNumericValue(index)]); 
} }} 

이 솔루션을 사용해 볼 수 있습니다. 그것은 작동합니다.

0

글쎄, 어떤 코드를 제공하지는 않겠지 만, 단락 형태의 가상 코드와 아이디어를 상자 밖에서 생각하게 만들 것입니다. 사전 제작 된 방법이 항상 준비되어있는 것은 아니기 때문입니다. 최악의 시나리오는 대체 방법을 찾을 수없는 경우이를 분해하는 방법에 대해 생각하십시오.

입력 형식은 어떤 숫자 체계입니까? 2 진수, 16 진수, 10 진수입니까? 해당 숫자 시스템에서 주어진 숫자에 대해 가능한 값의 범위가 무엇인지 알아보고 그 숫자에서 해당 숫자의 숫자를 판별하는 블록 두 개를 작성하십시오.

이진수에서는 숫자가 1 또는 0 일 수 있으므로 연속 숫자의 모든 가능한 숫자에 대해이 두 숫자의 가능한 두 가지 String 표현은 "하나"및 "0 ".

숫자를 분석 할 때 단일 메서드를 사용할 필요가 없으며 만들려는 String에 연결하기 위해 메서드를 사용해야 할 필요가 없습니다.

숫자를 정수로 처리하려고하면 int 데이터 유형이 보유 할 수있는만큼 많은 가능성을 가질 수 있습니다 (2의 거듭 제곱으로 32 = 4294967296 가능한 숫자 조합 - 가능성을 확인하기 위해 프로그램 블록을 작성하는 것이 더 낫다 !!)하지만 int digit을 숫자로 처리하는 경우 - WORST - 가능한 조합 10 개 (0-9 포함) 정수 (10 진수 형식)에서 최대 10 자릿수까지 자릿수를 곱한 값입니다. 더욱이, 전자의 경우, 하나의 커다란 터무니없는 반복으로 모든 단일 숫자를 확인해야합니다. 후자의 경우에는 10 개의 값만 확인하고 숫자의 자릿수에 따라 1-10 번 반복합니다.

enter image description here

관련 문제