Java程序设计——不一样的开始 IP地址判定

不一样的开始

其实,写报告,很烦人,但是着实很有用。 报告不但是自己复习回顾的数据库,还是团队合作,技术提高的加速器,认真对待报告,认真对待自己的行业,把他看作自己安身立命的对象。

IP地址判定

【问题描述】现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个地址串中没有空格出现(因为要表示成一个32数字)。>现在需要你用程序来判断IP是否合法。
【输入形式】输入一个ip地址
【输出形式】返回判断的结果YES or NO
【样例输入】 10.138.15.1
【样例输出】 YES

工具:

字符串的切割:

String[] str = string.split("\.");
1.字符"|","*","+“都得加上转义字符,前面加上”\"。
2.而如果是"",那么就得写成"\\"。
3.如果一个字符串中有多个分隔符,可以用"|“作为连字符。
比如:String str = “Java string-split#test”,可以用Str.split(” |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串
详见:
https://www.cnblogs.com/lxqiaoyixuan/p/8541530.html
https://www.cnblogs.com/husam/p/5646469.html

字符串转数字:

切记import java.lang.String;
int number = Integer.valueOf(string[i]);
https://blog.csdn.net/m0_37626813/article/details/78579691

代码:

import java.util.*; 
import java.lang.String; 

public class judgeIP { 
	public static void main(String[] args) {
  		// TODO Auto-generated method stub
 		Scanner scan = new Scanner(System.in);
 		
  		String s;//record the add
  		String[] num = new String [4];//record the number;
  		int number;//transfer string to int
  		int flag = 1;	
  		
		if(scan.hasNext()){
   			s = scan.nextLine();
   			num = s.split("\\.");
   			for(int i=0;i<4;i++){
				//System.out.println(num[i]);
    				number = Integer.valueOf(num[i]);
   				if(255 <= number){
    					flag = 0;
     					break;
    				}
   			}
   			if(1 == flag)
    				System.out.println("YES");
  			else{
    				System.out.println("NO");
   			}

 		}
  		scan.close();
 }

思路:

java强大的功能为这道题提供了良好的基础。判断是否正确,要看“.”之间的每个数,那么,首先要存储,string是良好的载体,具有分割和类型转换的方法,如果不是很熟悉,所以应该先确定算法思路,之后上网查找相关方法是否可行,之后再编程。谋而后动,才是编程的王道。
posted @ 2019-05-31 15:22  Comet_Fei  阅读(204)  评论(0编辑  收藏  举报