题解 | #合法IP#

合法IP

http://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9

这种题关键就是要细心,把所有可能出现的错误,通过 if-else 语句排除掉

  1. 初始 字符串分割之后,一定要分成 4 部分,否则直接返回
  2. 分割后的字符串不能为 空串,否则直接返回
  3. 分割后的字符串不能包含 除数字以外 的任何字符,否则直接返回
  4. IPv4 中,对于每一部分的数字,都不能 大于255 或者为 负数
  5. 别忘了,对于每一部分,不能有 前导0,即不能有 255.002.255.12 这种情况
import java.util.*;
public class Main {
    public static void main (String[] args) {
        Scanner scan = new Scanner(System.in);
        String[] strs = scan.nextLine().split("\\.");
        if (strs.length != 4) {
            System.out.println("NO");
            return;
        }
        for (String str : strs) {
            if ("".equals(str)) {
                System.out.println("NO");
                return;
            }
            int tmp = 0;
            try {
                tmp = Integer.valueOf(str);
            } catch (Exception e) {
                System.out.println("NO");
                return;
            }
            if (tmp < 0 || tmp > 255) {
                System.out.println("NO");
                return;
            }
            if (String.valueOf(tmp).length() != str.length()) {
                System.out.println("NO");
                return;
            }
        }
        System.out.println("YES");
    }
}
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞
送花
回复
分享
发布于 2022-04-20 17:03

相关推荐

15 3 评论
分享
牛客网
牛客企业服务