解题思路:

注意事项:

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


参考代码:

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.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

无敌键客 3年前 回复TA
你这个代码虽然能够通过但是不够全面,这是应为输入样例不够全面
当输入:   1.1.1.1.1 .1.1    这个错误IP地址时任然是Y,应当加一个对strs.length的判断语句