鞠弘俊


私信TA

用户名:jhjturn

访问量:12622

签 名:

等  级
排  名 214
经  验 6385
参赛次数 0
文章发表 61
年  龄 0
在职情况 学生
学  校 湖北生物科技职业学院
专  业

  自我简介:

解题思路:

注意事项:

非数字类型在转换为数字类型时程序可能发生异常


参考代码:

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		while (sc.hasNext()) {
			String str=sc.next();
			//. 、 $、 | 和 * 等转义字符前必须得加 “\\”进行分割
			String strs[]=str.toString().split("\\.");
			char ch='Y';
			for (int i = 0; i < strs.length; i++) {
				//startsWith:测试此字符串是否以指定的前缀(0)开始。
				//如果参数表示的字符序列是此字符串表示的字符序列的前缀,则返回 true;否则返回 false。
				//还要注意,如果参数是空字符串,或者等于此 String 对象(用 equals(Object) 方法确定),则返回 true。
				if (strs[i].startsWith("0")) {
					ch = 'N';
					break;
				}
				//try{} catch(Exception e){}:异常处理(catch在try发生异常时进入)
				try {
					if (Integer.parseInt(strs[i])<0||Integer.parseInt(strs[i])>255) {
						ch='N';
						break;
					}
					else {
						
					}
				} catch (Exception e) {
					ch='N';
					break;
				}
			}
			System.out.println(ch);
		}
	}
}


 

0.0分

5 人评分

  评论区

你这个代码虽然能够通过但是不够全面,这是应为输入样例不够全面
当输入:   1.1.1.1.1 .1.1    这个错误IP地址时任然是Y,应当加一个对strs.length的判断语句
2022-01-30 20:33:48
  • «
  • 1
  • »