2015-02-05 7 views
0

사용자를 입력하는 숫자 4 자리 숫자를 스왑하고 싶습니다. 그리고 코드C#을 사용하여 4 자리 숫자의 숫자를 바꾸는 방법은 무엇입니까?

private void btnSwap_Click(object sender, EventArgs e) 
    { 
     int number, digit1, digit2, digit3, digit4; 
     number = Convert.ToInt32(txtNumber.Text); 
     digit1 = number % 10; 
     digit2 = (number/10) % 10; 
     digit3 = (number/100) % 10; 
     digit4 = (number/1000) % 10; 
     digit4 = digit1; 
     digit1 = digit3; 
     digit3 = digit2; 
     digit2 = digit1; 
     lbReserved.Text = number.ToString(); 

    } 

그러나 코드가이 같은 수를 반환 썼다? 그것을하는 방법?

+0

을, 어떻게 당신이 lbReserved를 기대 당신이 원한다면 당신은 새로운 INT를 작성해야 번호 또는 txtNumber.Text와 다른가? –

답변

0

수학은 이미 취소되었으므로 변수를 교환 할 필요가 없습니다. 당신은 수학없이 훨씬 더 간결 버전하려는 경우

int reversedNumber = int.Parse(string.Concat(digit1, digit2, digit3, digit4)); 

: 당신은 결코 번호를 변경하지 않습니다

int reversedNumber = int.Parse(string.Concat(txtNumber.Text.TrimStart('0').Reverse())); 
0

문자열의 문자를 재귀 적으로 바꿀 수 있습니다.

다음은 예제입니다.

private void btnSwap_Click(object sender, EventArgs e) 
{ 
    string number = txtNumber.Text; 
    lbReserved.Text = reverseString(number); 
} 

private string reverseString(string str) 
{ 
    string result = ""; 
    if (str.length() == 1) 
    { 
     result = str; 
    } 
    else 
    { 
     result += str.charAt(str.length() - 1) + reverseString(str.substring(0, str.length() - 1)); 
    } 
    return result; 
} 
+0

이것은 작동하지 않았습니다. –

관련 문제