解题思路:
输入函数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 人评分
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:495 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:638 |
【密码】 (C语言代码)浏览:333 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:946 |
a+b浏览:433 |
时间转换 (C语言代码)浏览:629 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:360 |
求教大神。。。。1063,统计字符。浏览:11685 |
简单的a+b (C语言代码)浏览:559 |
简单的a+b (C语言代码)浏览:657 |