问题 1116: IP判断
题目描述
在基于Internet的程序中,我们常常需要判断一个IP字符串的合法性。
合法的IP是这样的形式:
A.B.C.D
其中A、B、C、D均为位于[0, 255]中的整数。为了简单起见,我们规定这四个整数中不允许有前导零存在,如001这种情况。
现在,请你来完成这个判断程序吧^_^
输入
输入由多行组成,每行是一个字符串,输入由“End of file”结束。
字符串长度最大为30,且不含空格和不可见字符
输出
对于每一个输入,单独输出一行
如果该字符串是合法的IP,输出Y,否则,输出N
样例输入
1.2.3.4 a.b.c.d 267.43.64.12 12.34.56.bb 210.43.64.129 -123.4.5.6
样例输出
Y N N N Y N
提示
无
来源
吉首大学软件学院
代码:
import java.util.Scanner;
public class Main {
static String st = "";//用来判断数字是否在[0,255]之间
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (s.hasNext()) {
String x = s.nextLine();
cheak(x);
}
}
private static void cheak(String x) {
for (int i = 0; i < x.length(); i++) {
if (x.charAt(i) == '.') {
if (Integer.valueOf(st) < 0 || Integer.valueOf(st) > 255) {
System.out.println('N');
st = "";
return;
}
st = "";
} else if (x.charAt(i) < '0' || x.charAt(i) > '9') {
System.out.println('N');
st = "";
return;
} else
st += x.charAt(i);
}
if (Integer.valueOf(st) < 0 || Integer.valueOf(st) > 255) {
System.out.println("N");
} else
System.out.println("Y");
st = "";//每次要清空
}
}
本文介绍了一个简单的Java程序,用于验证给定的字符串是否符合IPv4地址的标准格式。程序通过逐个检查每个数值部分来确保其在有效范围内,并排除了包含前导零的情况。
1846

被折叠的 条评论
为什么被折叠?



