解题思路:参考上面先判断是否为数字,再次判断百位,十位,各位(不能以0开头)

注意事项:

参考代码:

import java.util.Scanner;
public class Main{
    public static void main (String[] args){
        Scanner in=new Scanner(System.in);
        while(in.hasNext()) {
        	String s=in.next();
        	int t=0;
        	//该循环排除是否有0-9以外的字符
        	for(int i=0;i<s.length();i++) {
        		if(s.charAt(i)>='0'&&s.charAt(i)<='9'||s.charAt(i)=='.') {
        			t=0;
        		}else {
        			t=1;
        			break;
        		}
        	}
        	if(t==1) {
        		System.out.println("N");
        		continue;
        	}
        	//下面的循环对只有数字的字符串进行判定  是否符合0-255
        	String str[]=s.split("\\.");
        	for(int i=0;i<4;i++) {
        		if(Integer.valueOf(str[i])<0||Integer.valueOf(str[i])>255) {
        			t=1;
        		}else {
	        		if(str[i].length()==3) {
	        			if(Integer.valueOf(str[i])/100==0) {
	        				t=1;
	        			}
	        		}
	        		if(str[i].length()==2) {
	        			if(Integer.valueOf(str[i])/10%10==0) {
	        				t=1;
	        			}
	        		}
	        		if(str[i].length()==1) {
	        			if(Integer.valueOf(str[i])==0) {
	        				t=1;
	        			}
	        		}
        		}
        	}
        	if(t==1)
        		System.out.println("N");
        	else
        		System.out.println("Y");
        }
    }
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论