原题链接: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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复