2017-11-13 22 views
0

이 코드는 out 숫자 형식 클래스로 작성했습니다. 내 질문 : 번호 형식 클래스없이이 프로세스를 짧게 만들 수있는 방법이 있습니까? 다음과 같은숫자 형식이없는 쉼표 사용

String num=JOptionPane.showInputDialog("enter number"); 
Int len=num.length(); 
String res=""; 

if (len==4){ 
res=num.charAt(0)+","+num.substring(1); 

} 

else if(len==5){ 
res=num.substring(0,2)+","+num.substring(2); 
} 

else if(len==6){ 
res=num.substring(0,3)+","+num.substring(3); 
} 

else if(len==7){ 
res=num.charAt(0)+","+num.substring(1,4)+","+num.substring(4); 
} 

else if(len==8){ 
res=num.substring(0,2)+","+num.substring(2,5)+","+num.substring(5); 
} 

else if(len==9){ 
res=num.substring(0,3)+","+num.substring(3,6)+","+num.substring(6); 
} 

else if(len==10){ 
res=num.charAt(0)+","+num.substring(1,4)+","+num.substring(4,7)+","+num.substring(7); 
} 

System.out.println(res); 
+1

물론 짧은 것이 대안이 - 그리고 더 나은. 각 길이별로 별도의 사례를 작성하지 않고 문제를 해결할 수있는 방법에 대해 생각해보십시오. –

+0

@ 존 볼링가 괜찮은 덕분에 –

+0

@Salman은 완전히 했어요 –

답변

1

뭔가 :

public static void main(String[] args) { 
     int myInt = 1234567890; 
     StringBuilder str = new StringBuilder(String.valueOf(myInt)); 

     int length = str.length(); 
     int count = 0; 

     for (int i = length; i > 0; i--) { 
      count++; 

      if (count % 3 == 0 && count != length) {     
       str.insert(i - 1, ","); 
      } 
     } 
     System.out.println("Formatted Number: " + str); 

    }