ECNU 2987 判断 IP

ECNU 2987 判断 IP

链接

https://acm.ecnu.edu.cn/problem/2987

题目

单点时限: 2.0 sec

内存限制: 256 MB

输入一个 IP 地址串,判断是否合法。

输入格式
输入的第一行包括一个整数 n (),代表下面会出现的 IP 地址的个数。

接下来的 n 行每行有一个 IP 地址,IP 地址的形式为 a.b.c.d,其中 都是整数。

输出格式
可能有多组测试数据,对于每组数据,输出一行问题的编号( 开始编号,格式:case #0: 等)然后如果 IP 地址合法则输出 Yes,如果 IP 地址非法则输出 No,并输出使该 IP 非法的第一个 IP 分量的位置及该 IP 分量,中间以空格分开。

样例
input
3
255.255.255.255
512.12.2.3
126.12.512.0
output
case #0:
Yes
case #1:
No 0 512
case #2:
No 2 512

提示
合法的IP地址为:

都是的整数。
ip地址有4位,第一位分量的位置为0,第二位为1,第三位为2,第四位为3。

思路

就,字符串处理就行,以点分割,然后转字符串为数字,如果在0-255就符合条件,不在就输出错误,并跳出即可。

代码

  public static void fun() {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();

    for (int i = 0; i < n; i++) {
      int flag = 0;
      String str = sc.next();
      String[] sp = str.split("\.");
      System.out.println("case #" + i + ":");
      for (int j = 0; j < 4; j++) {
        int temp = Integer.valueOf(sp[j]);
        if (temp < 0 || temp > 255) {
          flag = 1;
          System.out.println("No " + j + " " + sp[j]);
          break;
        }
      }
      if (flag == 0) {
        System.out.println("Yes");
      }
    }

  }
原文地址:https://www.cnblogs.com/blogxjc/p/14295140.html