天天看點

2021-09-08 程式設計練習:正則年齡 解析url路徑

目錄

1.程式啟動後,要求使用者輸入使用者名使用者名出現内容要求如下要求:

2.解析url路徑,找規律

1.程式啟動後,要求使用者輸入使用者名使用者名出現内容要求如下要求:

  3-15位,内容隻能是數字,字母,下劃線。不比對則直接提示使用者名有誤。

  如果無誤,則要求使用者繼續輸入年齡,數字至少一位以上,不比對則提示年齡有誤。并且驗證年齡在1-100歲之間(包含1和100),如果超出範圍給出提示。

Scanner sc = new Scanner(System.in);
        System.out.print("請輸入使用者名:");
        String username = sc.next();
        if (username.matches("^[0-9a-zA-Z_]{3,15}$")){
            System.out.print("請輸入使用者年齡:");
            String userage = sc.next();
            if(userage.matches("[1-9][0-9]*")){
//如果
                if(userage.length()<3 || userage.equals("100")) {
                    System.out.println("使用者名為:" + username + ",年齡:" + userage);
                }else{
                    System.out.println("年齡超出範圍!!");
                }
            }else{
                System.out.println("年齡格式有誤!!");
            }
        }
        else{
            System.out.println("使用者名有誤!!");
        }
           

運作結果:

2021-09-08 程式設計練習:正則年齡 解析url路徑

   使用者名4位,年齡<100,合格

2021-09-08 程式設計練習:正則年齡 解析url路徑

     使用者名4位,年齡=100,合格

2021-09-08 程式設計練習:正則年齡 解析url路徑

    使用者名2位,使用者名有誤

2021-09-08 程式設計練習:正則年齡 解析url路徑

    使用者名4位,年齡格式有誤

2021-09-08 程式設計練習:正則年齡 解析url路徑

    使用者名4位,年齡>100,超出範圍

2.解析url路徑,找規律

(1)String path = "http://localhost:8088/myweb/reg?name=zhangsan";

        将上述字元串按照"?"拆分為兩部分并輸出

        ?左側在控制台輸出内容為:

        請求:http://localhost:8088/myweb/reg

        ?右側在控制台輸出内容為:

        參數:name=zhangsan

String path = "http://localhost:8088/myweb/reg?name=zhangsan";
        String str[] = path.split("[?]");
        String request = str[0];
        String parameter = str[1];
        System.out.println("請求:"+request);
        System.out.println("參數:"+parameter);
           

運作結果:

2021-09-08 程式設計練習:正則年齡 解析url路徑

(2)path = "http://localhost:8088/myweb/reg?name=zhangsan&pwd=123456&nick=san&age=16";

        先拆分出請求部分與參數部分

        觀察參數部分的格式,找出規律後再将每一個參數的名字和值得到并輸出為:

        參數名:name,參數值:zhangsan

        參數名:pwd,參數值:123456

String path = "http://localhost:8088/myweb/reg?name=zhangsan&pwd=123456&nick=san&age=16";
        //根據?分割成兩個數組,str[1]是?後面的
        String str[] = path.split("[?]");
        //定義二維數組接收再次分割的
        String parameter[][] = new String[str[1].split("[&]").length][2];
        //下标0是=左邊的,下标1是=右邊的
        for(int i=0;i<parameter.length;i++){
            parameter[i][0] = str[1].split("[&]")[i].split("[=]")[0];
            parameter[i][1] = str[1].split("[&]")[i].split("[=]")[1];

        }
        System.out.println(Arrays.deepToString(parameter));
           

運作結果:

2021-09-08 程式設計練習:正則年齡 解析url路徑