文字列が合法的なIPアドレスかどうかを判断します。
6788 ワード
最近筆記試験の時にアルゴリズムの問題にぶつかりました。
文字列が合法的なipアドレスかどうかを判断する必要があります。
私の考えを出して分かち合います。正しいとは限らないです。一番いい方法とは限らないです。いくつか交流を分かち合うことができることを望みます。
javaまたはcで実現することを要求します。私のjavaコード:
転載先:https://www.cnblogs.com/Lin-Yi/p/7501866.html
文字列が合法的なipアドレスかどうかを判断する必要があります。
私の考えを出して分かち合います。正しいとは限らないです。一番いい方法とは限らないです。いくつか交流を分かち合うことができることを望みます。
javaまたはcで実現することを要求します。私のjavaコード:
1 public class Test_ip {
2 //
3 public static void main(String[] args) {
4 Solution s = new Solution(); // Solution
5 //String test_str = "12.34.56.67";
6 String test_str = "256.34.56.67"; //
7 boolean res = s.test_ip(test_str); //
8 System.out.println(res); //
9 }
10 }
11
12 class Solution{
13 /**
14 * ip :
15 * 1 0.0.0.0 7 000.000.000.000 15
16 * 2 . 4
17 * 3 ,
18 * 4 0 255
19 * 5 !!! true
20 */
21 public boolean test_ip(String str){
22 // 1 0.0.0.0 7 000.000.000.000 15
23 if(str.length()<7 || str.length() >15) return false; // false
24
25 // 2 . 4
26 String[] arr = str.split("\\.");
27 if( arr.length != 4 ) return false; // 4 false
28
29 // 3 ,
30 for(int i = 0 ; i <4 ; i++ ){
31 for(int j = 0; j){
32 char temp = arr[i].charAt(j);
33 if(!( temp>'0' && temp< '9' ) ) return false; // false
34 }
35 }
36
37 // 4 0 255
38 for(int i = 0 ; i<4;i++){
39 int temp = Integer.parseInt( arr[i] );
40 if( temp<0 || temp >255) return false; // 0 255 false
41 }
42
43 // 5 !!! true
44 return true;
45 }
46 }
転載先:https://www.cnblogs.com/Lin-Yi/p/7501866.html