解题思路:
输入函数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 人评分
A+B for Input-Output Practice (VII) (C++代码)浏览:643 |
求圆的面积 (C语言代码)浏览:1366 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:782 |
DNA (C语言描述,数据结构)浏览:909 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:646 |
剪刀石头布 (C++代码)浏览:1811 |
1050题解(结构体数组与结构体指针的使用)浏览:1216 |
C二级辅导-温度转换 (C语言代码)浏览:802 |
字符串的输入输出处理 (C语言代码)浏览:1085 |
时间转换 (C语言代码)浏览:697 |