解题思路:
把'.'号之前的数字储存
用ascll码判断是否为为数字,(s.charAt(i)-'0'<0||s.charAt(i)-'0'>9)System.out.println("N");
注意事项:退出循环时记得清空temp
参考代码:
import java.util.Scanner; public class ip判断 { static String temp=""; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String s=scanner.nextLine(); sort(s); } } public static void sort(String s){ for(int i=0;i<s.length();i++){ if(s.charAt(i)=='.'){//如果是'.'输出前面的数字 if(Integer.valueOf(temp)<0||Integer.valueOf(temp)>255){; System.out.println("N");temp="";return; } temp=""; } else if(s.charAt(i)-'0'<0||s.charAt(i)-'0'>9)//如果是非数字退出 {System.out.println("N");temp="";return;} else temp=temp+s.charAt(i);//逐个字符放入temp中 } if(Integer.valueOf(temp)<0||Integer.valueOf(temp)>255){; System.out.println("N"); } else System.out.println("Y"); temp=""; } }
0.0分
0 人评分