原题链接:IP判断
解题思路:
输入函数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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复