2014-02-05 1 views
2

에 숫자를 변환 자바 프로그램이 문자열

public class numbers { 
     static String[] ones={" ","one","two","three","four","five","six","seven","eight","nine","ten", 
      "eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"}; 
     static String [] tens={" ","twenty","thirty","fourty","fifty","sixty","seventy","eighty","ninety"}; 
     static String [] hundreds={" ","one-hundred","two-hundred","three-hundred","four-hundred", 
      "fife-hundred","six-hundred","sevent-hundred","eight-hundred","nine-hundred"}; 
     static String[] thousand= {"Thousand"}; 

    public static String UpTONineteen(int i){ 
     Scanner t=new Scanner(System.in); 
     System.out.print("please enter a number\n"); 
     i=t.nextInt(); 
     while(i>0 && i<20){ 
      return ones[i]; 
     } 
     while(i>=20 && i<100){ 
      return tens[i/10]+ones[i%10]; 
     }while(i>=100 && i<1000){ 

     } 

     return ""; 

    } 

    public static void main(String []args){ 
     numbers b=new numbers(); 
     System.out.print(b.UpTONineteen(10)); 

    } 

    } 

100 ~ 999
+1

왜 if() {return} 대신에 (return) while (return) ?? – aalku

답변

0

), 다음과 같은 코드가 작동해야합니다

return hundreds[i/100] + tens[(i % 100)/10] + ones[i % 10]; 
+0

덕분에 많은 사람. 그래서 당신의 답과 관련하여 1000 이상의 수익을 얻는 것은 1000 [1/1000] + hundres [i % 100]/10] + hundres [i % 10] + ones [i % 10]가 될 것입니까? –

+0

정확하지 않아야합니다 : return 1000 [i/1000] + 수백 [(i % 1000)/100] + 수십 [(i % 100)/10] + 1 [i % 10]; – Flixer

+0

덕분에 나는 이미 완료했습니다 –

-2

한 String.valueOf() 당신의 친구입니다. 그것을 사용하는 방법을 검색, 나는 생각
examples

+0

감사합니다. –

0

이 시도 :

while(i>=100 && i<1000){ 
    return hundreds[i/100] + tens[Math.max((i % 100)/10-1,0)] + ones[i % 10]; 
} 
1

첫째 : 당신이 수십 배열에 문제가, 색인을 사용하기 때문에 이렇게해야합니다.

static String[] tens = {" ", " ", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"}; 

초 : 백 범위

return hundreds[i/100] +" "+ tens[(i % 100)/10] +" "+ ones[i % 10]; 
+1

예, 제가 알기 론 그 문제에 대해 알고있었습니다. 수학 및 모드 물건. 제안 해 주셔서 감사합니다. –