解题思路:

        输入函数nextLine每次获取单行字符串,string.split()分割需要注意在符号前加“\\”表示转义,

        split函数返回值是字符串数组,例:string="1.2.3.4"->["1","2","3","4"]

        string转换为int类型,使用Integer.parseInt(s)

        遍历数组 调用numProcess()进行逐一判断,最后输出结果。


参考代码:

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		boolean flag=true;

		while (true) {
			String text =in.nextLine();
			String[] strings=text.split("\\.");//分割ip
			//遍历判断
			for (String string : strings) {
				if (numProcess(string)) {
					flag=true;
				}else if (string.startsWith("0")) {
					flag=false;
					break;//题目要求,以0开头不符合ip地址
				}else {
					flag=false;
					break;//有一个不符合就退出,N
				}
			}
			if (flag) {
				System.out.println("Y");
			}else System.out.println("N");
			
			if(!in.hasNext())break;
		}

	}
	//字符逐一判断
	public static boolean numProcess(String s) {
		int a = 0;
		boolean f = false;
		try {
			a = Integer.parseInt(s);
			if (a > 255 || a < 0) {
				f = false;
			} else
				f = true;//符合
		} catch (NumberFormatException e) {
			f = false;//字符
		}
		return f;
	}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论