支付寶的幾個題目

1、將一個網址的中間部分截取出來,得到alipay.com

 

//使用正則表達式
private static void p(String s) { 
    Pattern p=Pattern.compile("alipay[.]com");//要取出的字段 ,正則規範
    Matcher m=p.matcher(s); 
    while(m.find()){ //如果找到了與規範字段匹配的
    System.out.println(m.group()); //打印出匹配的字段
     System.out.println(m.start()); //打印出第一個匹配的位置
  }
}



 

    按照字符串的數字將字符串拆分

public class Regex{
     public static void main(String[] args){
            String str = "A1B22C333D4444E55555F";
            String pat = "\\d+";
            Pattern p = Pattern.compile(pat);
            String s[] = p.split(str);//根據數字拆分 取出字符串中的非數字字符
            for(int x=0;x<s.length;x++){
                  System.out.print(s[x]+"\t");
                }
}}

 2、編程序將一個字符串反轉

   

 public class StringReverse {
  public static void main(String[] args) {
  // 原始字符串
  String s = "A quick brown fox jumps over the lazy dog.";
  System.out.println("原始的字符串:" + s);
  System.out.print("反轉後字符串:");
  for (int i = s.length(); i > 0; i--) {
  System.out.print(s.charAt(i - 1));
  }
  // 也可以轉換成數組後再反轉,不過有點多此一舉
  char[] data = s.toCharArray();
  System.out.println();
  System.out.print("反轉後字符串:");
  for (int i = data.length; i > 0; i--) {
  System.out.print(data[i - 1]);
  }
  }
  }
  public class StringReverse {
  public static void main(String[] args) {
  // 原始字符串
  String s = "A quick brown fox jumps over the lazy dog.";
  System.out.println("原始的字符串:" + s);
  System.out.print("反轉後字符串:");
  for (int i = s.length(); i > 0; i--) {
  System.out.print(s.charAt(i - 1));
  }
// 也可以轉換成數組後再反轉,不過有點多此一舉
  char[] data = s.toCharArray();
  System.out.println();
  System.out.print("反轉後字符串:");
  for (int i = data.length; i > 0; i--) {
  System.out.print(data[i - 1]);
  }
  }
  }
  運行結果:
  1、原始的字符串:A quick brown fox jumps over the lazy dog.
  2、反轉後字符串:.god yzal eht revo spmuj xof nworb kciuq A
  3、反轉後字符串:.god yzal eht revo spmuj xof nworb kciuq A
  以上兩種方式雖然常用,但卻不是最簡單的方式,更簡單的是使用現有的方法:
  Java代碼
  public class StringReverse {
  public static void main(String[] args) {
  // 原始字符串
  String s = "A quick brown fox jumps over the lazy dog.";
  System.out.println("原始的字符串:" + s);
  System.out.print("反轉後字符串:");
  StringBuffer buff = new StringBuffer(s);
  // java.lang.StringBuffer類的reverse()方法可以將字符串反轉
  System.out.println(buff.reverse().toString());
  }
  }
  運行結果:
  1、原始的字符串:A quick brown fox jumps over the lazy dog.
  2、反轉後字符串:.god yzal eht revo spmuj xof nworb kciuq A 

 

 

3、jsp中的forward和redirect的區別

forward是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器.瀏覽器根本不知道服務器發送的內容從哪裏來的,所以它的地址欄還是原來的地址.
redirect是服務端根據邏輯,發送一個狀態碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新URL.所以redirect等於客戶端向服務器端發出兩次request,同時也接受兩次response。

區別       

類別
概念
共享數據
應用
Redirect
URL重新定向:可以是任意的URL
不能共享request裏面的數據
一般用於用戶註銷登錄時返回主頁面和跳轉到其它的網站等等
Forward
頁面的轉發:只能是同一個Web應用程序的其他Web組件
轉發頁面和轉發到的頁面可以共性request裏面的數據
一般用於用戶登錄的時候根據角色轉發到相應的模塊等等

 

4、觸發器的作用是什麼

觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,也不是手工啓動,而是由個事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行。觸發器經常用於加強數據的完整性約束和業務規則等。 觸發器可以從 DBA_TRIGGERS ,USER_TRIGGERS 數據字典中查到。
ORACLE產生數據庫觸發器的語法爲:
create [or replace] trigger 觸發器名 觸發時間 觸發事件
on 表名
[for each row]
pl/sql 語句
其中:
觸發器名:觸發器對象的名稱。由於觸發器是數據庫自動執行 的,因此該名稱只是一個名稱,沒有實質的用途。
觸發時間:指明觸發器何時執行,該值可取:
before---表示在數據庫動作之前觸發器執行;
after---表示在數據庫動作之後出發器執行。
觸發事件:指明哪些數據庫動作會觸發此觸發器:
insert:數據庫插入會觸發此觸發器;
update:數據庫修改會觸發此觸發器;
delete:數據庫刪除會觸發此觸發器。
表 名:數據庫觸發器所在的表。
for each row:對錶的每一行觸發器執行一次。如果沒有這一選項,則只對整個表執行一次。
舉例:下面的觸發器在更新表auths之前觸發,目的是不允許在週末修改表:

create trigger auth_secure
before insert or update or delete file://對整表更新前觸發
on auths
begin
if(to_char(sysdate,'DY')='SUN'
RAISE_APPLICATION_ERROR(-20600,'不能在週末修改表auths');
end if;
end

 

5、接口和抽象類區別

區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於“是”的關係;而接口是定義行爲規範,因此對於實現接口的子類來說,相對於接口來說,是“行爲需要按照接口來完成”。

區別二,抽象類在定義類型方法的時候,可以給出方法的實現部分,也可以不給出;而對於接口來說,其中所定義的方法都不能給出實現部分。

區別三,繼承類對於兩者所涉及方法的實現是不同的。繼承類對於抽象類所定義的抽象方法,可以不用重寫,也就是說,可以延用抽象類的方法;而對於接口類所定義的方法或者屬性來說,在繼承類中必須要給出相應的方法和屬性實現。

區別四,在抽象類中,新增一個方法的話,繼承類中可以不用作任何處理;而對於接口來說,則需要修改繼承類,提供新定義的方法。


如下給出兩者的簡單對比表格。

 

 

接口

抽象類

多繼承

支持

不支持

類型限制

沒有

有,只能是引用類型

方法實現

繼承類型中必須給出方法實現

繼承類中可以不給出

擴展性

比較麻煩

相對比較靈活

多層繼承

比較麻煩,需要藉助虛函數

比較靈活

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章