1
だから、IPv4の文字列がこの文字列が配列に作用しないのはなぜですか?
public static boolean isValidElement(String token) {
String[] validString = token.split("\\.");
if (validString.length != 4)
return false;
for (String str: validString) {
try{
int i = Integer.parseInt(str);
if ((i < 0) || (i > 255)) {
return false;
}
}
catch(NumberFormatException ex){
return false;
}
}
return true;
}
をisValidElementに渡され、罰金とダンディすべてのthatsが、その文字列を配列に文字列を格納するためのメソッドに渡されたとき、それは仕事をdoenstています。
public void setParts(String ip) {
parts = new int[4];
if (!isValidElement(ip))
for(int i = 0; i <= parts.length; i++)
parts[i] = 0;
else
try {
String[] ipArr = ip.split("\\.");
for (int i = 0; i < ipArr.length; i++) {
parts[i] = Integer.parseInt(ipArr[i]);
}
}
catch (NumberFormatException e) {
parts = new int[4];
}
}
どこが間違っていますか?私は何が欠けていますか?
私はJUnitテスト
public void testSetPartsString() {
correct1.setParts("12.14.16.18");
int[] a = correct1.getParts();
assertEquals(4, a.length);
assertEquals(12, a[0]);
assertEquals(14, a[1]);
assertEquals(16, a[2]);
assertEquals(18, a[3]);
を持っている。しかし、それは
assertEquals(4, a.length);
で動作を停止し、私は適切にインスタンスアレイ部分をリセットしないことがありますか?
[MCVE]を投稿してください。 – c0der
ブレークポイントを設定し、デバッグモードでコードを見てみませんか? –
@TimmyJim私はsetPartsを使ってブレークポイントを設定しましたが、それは私のために働いていません –