2012-12-01 4 views
-4

이 내 클래스되지 않은 : 나는 문제를 만들 생각 Withdraw라는 방법을 강조정적 멤버는 필요에 따라 작업

class EmpDetails 
{ 
    private string _EmpName; 
    private int _EmpID; 
    private string _EmpDepartment; 
    private string _EmpPosition; 
    private decimal _Balance; 
    private static int _PrevId; 

    public static decimal MinBalance; //This memeber is not working as required 


    **public void Withdraw(decimal amount) // The Problem is in this method** 
    { 
     if (this.Balance < MinBalance) 
     { 
      throw new ApplicationException("Insufficient funds"); 
     } 
     else 
     { 
      this._Balance -= amount; 
     } 
    } 
} 

. 잔액이 최소 잔액보다 적은지 확인하고 예외를 throw한다고 가정합니다. MinBalance를 500으로 설정하고 Balance를 1000으로 설정하고 1000에서 600을 인출하려고하면 불균형을 말하는 예외를 던져야하지만 처음 시도에서는 작동하지 않지만 오히려 작업을 철회하려고 할 때 작동합니다. 두번째.

+2

로 조건을 변경'당신은 코드에서 모든 –

+2

(1) 당신이 "작동하지 않는"가 무엇을 의미하는지에 대해 더 구체적으로하시기 바랍니다 blocks' 넣어하지 않으며, (2) 모든 코드를 삭제하는 것이 문제와 관련이 없습니다. 여전히 문제가있는 가능한 가장 작은 프로그램으로 프로그램을 줄이십시오. 예를 들어,'EmpDepartment'는 당신의 문제와 관련이없는 것처럼 보입니다. –

+0

항상 클래스 이름으로 MinBalance를 사용해 보셨습니까? – Tilak

답변

1

당신은 당신의 currente 균형을하지 확인해야하지만 균형은 당신이 철수 후 얼마나, 당신이 예상대로 작동하지 않는 이유를 먹으 렴, 당신은 이런 식으로 작업을 수행 할 수 있습니다

public void Withdraw(decimal amount) // The Problem is in this method** 
{ 
    if ((this.Balance - amount) < MinBalance) 
    { 
     throw new ApplicationException("Insufficient funds"); 
    } 
    else 
    { 
     this._Balance -= amount; 
    } 
} 
1

코드를 단계별로 실행하면 문제가 표시됩니다. 줄에 중단 점을 설정하십시오 if (this.Balance < MinBalance). 처음으로 잔액 (1000)이 최소 잔액 (600)보다 높기 때문에 인출 할 수 있습니다. 출발 잔액이 아닌 잔여 잔액을 확인하고 싶은 것 같습니다.

1

본인이 문제에 대한 귀하의 설명을 올바르게 이해하는 경우 사람들이 잔액을 최소 잔액 이하로 줄일 수 없도록 차단하고 싶습니다.

public void Withdraw(decimal amount) // The Problem is in this method** 
    { 
     if (this.Balance < MinBalance) 
     { 
      throw new ApplicationException("Insufficient funds"); 
     } 
     else 
     { 
      this._Balance -= amount; 
     } 
    } 

하지만 당신은 그 방정식에 철회를 고려하고 있지 않습니다.

if (this.Balance - amount < MinBalance) 
{ 
+0

네 말이 맞습니다. 감사 – kittu

관련 문제