2016-04-22 14 views
0

これはユーザーID番号の検証で、テスト時に長さが10未満の無効な文字列を入力し、入力を設定してelse文を実行しません。ユーザー入力の検証Javaクラス

ソースコード:

あなたの方法は、次のようになります
private String phoneNum; 

public personalInfo(String phNum) { 
    setPhoneNum(phNum); 
} 

public String getPhoneNum() { 
    return phoneNum; 
} 

public void setPhoneNum(String phNum) { 
    if (phoneNum.startsWith("05")&&(phoneNum.length()==10)){ 
     phoneNum = phNum; 
    } 
    else throw new IllegalArgumentException ("Invalid Phone Number!"); 
} 
+0

このコードをどのように呼びますか? [MCVE](http://stackoverflow.com/help/mcve)を投稿してください。 –

答えて

1

...

public void setPhoneNum(String phNum) { 
    if (phoneNum.startsWith("05")&&(phoneNum.length()==10)){ 
     phoneNum = phNum; 
    } 

、そこにあなたがパラメータを検証していませんが、変数phoneNum ...

代わりに:

public void setPhoneNum(String phNum) { 
    if (phNum.startsWith("05")&&(phNum.length()==10)){ 
     phoneNum = phNum; 
    } 
0

取得している値を検証し(phNum)、メンバー変数phoneNumに設定する必要があります。

if (phNum.startsWith("05")&&(phNum.length()==10)){ 
    phoneNum = phNum; 
}