欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

在Java中反轉(zhuǎn)字符串的10種方法[Snippets]

在本文中,我們將討論如何以10種不同的方式在Java中反轉(zhuǎn)String。 在本文中,我們將編寫(xiě)10個(gè)Java程序來(lái)反轉(zhuǎn)String。 例如,從“javaguides”到“sediugavaj”的反向字符串。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、伊金霍洛網(wǎng)站維護(hù)、網(wǎng)站推廣。

用Java反轉(zhuǎn)字符串的10種方法

在Java中反轉(zhuǎn)字符串的10種方法[Snippets]

1.使用+(String Concatenation)運(yùn)算符

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseWithStringConcat {
    public  static  void  main(String [] args){
        ReverseWithStringConcat  concat  =  new  ReverseWithStringConcat();
        concat。reverseWithStringConcat(“javaguides”);
    }

    private  String  reverseWithStringConcat(String  input){
        String  output  =  new  String();
        對(duì)于(詮釋 我 =(輸入。長(zhǎng)度()-  1); 我 > =  0 ; 我-){
            輸出 + =(輸入。的charAt(我));
        }

        顯示(輸入,輸出);
        返回 輸出 ;
    }

    private  void  display(String  input,String  output){
        系統(tǒng)。出。println(“input string ::”  +  input);
        系統(tǒng)。出。println(“output string ::”  +  output);
    }
}

產(chǎn)量

 輸入 字符串 :: javaguides
 輸出 字符串 :: sediugavaj

2.使用StringBuilder

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseWithStringBuilderBuiltinMethod {
    public  static  void  main(String [] args){
        ReverseWithStringBuilderBuiltinMethod  builtinMethod  =  new  ReverseWithStringBuilderBuiltinMethod();
        builtinMethod。reverseWithStringBuilderBuiltinMethod(“javaguides”);
    }

    public  String  reverseWithStringBuilderBuiltinMethod(String  string){
        final  StringBuilder  builder  =  new  StringBuilder(string);
        顯示(字符串,助洗劑。反向()。的toString());
        返回 建設(shè)者。反轉(zhuǎn)()。toString();
    }

    private  void  display(String  input,String  output){
        系統(tǒng)。出。println(“input string ::”  +  input);
        系統(tǒng)。出。println(“output string ::”  +  output);
    }
}

產(chǎn)量

 輸入 字符串 :: javaguides
 輸出 字符串 :: sediugavaj

3.使用String charAt方法

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseWithStringChatAt {
    public  static  void  main(String [] args){
        ReverseWithStringChatAt  reverseWithStringBuilder  =  new  ReverseWithStringChatAt();
        reverseWithStringBuilder。reverseWithStringBuilder(“javaguides”);
    }

    public  String  reverseWithStringChatAt(String  string){
        final  StringBuilder  builder  =  new  StringBuilder();
        對(duì)于(詮釋 我 =(字符串。長(zhǎng)度()-  1); 我 > =  0 ; 我-){
            建設(shè)者。追加(字符串。的charAt(我));
        }
        顯示(字符串,助洗劑。的toString());
        返回 建設(shè)者。toString();
    }

    private  void  display(String  input,String  output){
        系統(tǒng)。出。println(“input string ::”  +  input);
        系統(tǒng)。出。println(“output string ::”  +  output);
    }
}

產(chǎn)量

 輸入 字符串 :: javaguides
 輸出 字符串 :: sediugavaj

4.使用交換字符反轉(zhuǎn)字符串

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
公共 類(lèi) ReverseStringWithSwaps {
    public  static  void  main(String [] args){
        ReverseStringWithSwaps  stringWithSwaps  =  new  ReverseStringWithSwaps();
        stringWithSwaps。reverseWithSwaps(“javaguides”);
    }

    public  String  reverseWithSwaps(String  string){
        final  char [] array  =  string。toCharArray();
        final  int  length  =  array。長(zhǎng)度 -  1 ;
        final  int  half  =(int)數(shù)學(xué)。地板(陣列。長(zhǎng)度 /  2);

        char  c ;
        for(int  i  =  length ; i  > =  half ; i -){
            c  =  array [ length  -  i ];
            array [ length  -  i ] =  array [ i ];
            array [ i ] =  c ;
        }
        顯示(字符串,字符串。的valueOf(陣列));
        return  String。valueOf(array);
    }

    private  void  display(String  input,String  output){
        系統(tǒng)。出。println(“input string ::”  +  input);
        系統(tǒng)。出。println(“output string ::”  +  output);
    }
}

產(chǎn)量

 輸入 字符串 :: javaguides
 輸出 字符串 :: sediugavaj

5.使用XOR(^)運(yùn)算符反轉(zhuǎn)字符串

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseStringWithXOR {
    public  static  void  main(String [] args){
        ReverseStringWithXOR  stringWithXOR  =  new  ReverseStringWithXOR();
        stringWithXOR。reverseWithXOR(“javaguides”);
    }

    public  String  reverseWithXOR(String  string){
        final  char [] array  =  string。toCharArray();
        final  int  length  =  array。長(zhǎng)度 ;
        final  int  half  =(int)數(shù)學(xué)。地板(陣列。長(zhǎng)度 /  2);

        for(int  i  =  0 ; i  <  half ; i ++){
            array [ i ] ^ =  array [ length  -  i  -  1 ];
            array [ length  -  i  -  1 ] ^ =  array [ i ];
            array [ i ] ^ =  array [ length  -  i  -  1 ];
        }
        顯示(字符串,字符串。的valueOf(陣列));
        return  String。valueOf(array);
    }

    private  void  display(String  input,String  output){
        系統(tǒng)。出。println(“input string ::”  +  input);
        系統(tǒng)。出。println(“output string ::”  +  output);
    }
}

產(chǎn)量

 輸入 字符串 :: javaguides
 輸出 字符串 :: sediugavaj

6.使用Stack

包 網(wǎng)。javaguides。corejava。串 ;

導(dǎo)入 java。util。堆棧 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseStringUsingStack {
    //使用堆棧和字符數(shù)組在Java中反轉(zhuǎn)字符串的函數(shù)
    public  static  String  reverse(String  str){
        //基本情況:如果string為null或?yàn)榭?
        如果(STR  ==  空 ||  海峽。等號(hào)(“” ))
            返回 str ;

        //創(chuàng)建一個(gè)空的字符堆棧
        Stack  <  Character  >  stack  =  new  Stack  <  Character  >();

        //將給定字符串的每個(gè)字符都?jí)喝攵褩?
        char [] ch  =  str。toCharArray();
        對(duì)于(詮釋 我 =  0 ; 我 <  STR。長(zhǎng)度(); 我++)
            堆棧。推(ch [ i ]);

        //從索引0開(kāi)始
        int  k  =  0 ;

        //從堆棧中彈出字符,直到它為空
        而(!棧。的isEmpty()){
            //將每個(gè)彈出的字符分配回字符數(shù)組
            ch [ k ++ ] =  堆棧。pop();
        }

        //將字符數(shù)組轉(zhuǎn)換為字符串并返回它
        return  String。copyValueOf(ch);
    }

    public  static  void  main(String [] args){
        String  str  =  “javaguides” ;

        str  =  reverse(str); //字符串是不可變的

        系統(tǒng)。出。println(“給定字符串的反轉(zhuǎn)是:”  +  str);
    }
}

產(chǎn)量

反向 的 在 給定的 字符串 是:sediugavaj

7.使用Collections reverse()方法

包 網(wǎng)。javaguides。corejava。串 ;

導(dǎo)入 java。util。ArrayList ;
導(dǎo)入 java。util。收藏 ;
導(dǎo)入 java。util。清單 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseStringUsingCollectionsReverseMethod {

    //使用Collections.reverse()在Java中反轉(zhuǎn)字符串的函數(shù)
    public  static  String  reverse(String  str){
        //基本情況:如果string為null或?yàn)榭?
        如果(STR  ==  空 ||  海峽。等號(hào)(“” ))
            返回 str ;

        //創(chuàng)建一個(gè)空字符列表
        List  <  Character  >  list  =  new  ArrayList  <  Character  >();

        //將給定字符串的每個(gè)字符都推入其中
        對(duì)于(炭 ?:STR。toCharArray())
            清單。添加(c);

        //使用java.util.Collections反向列表reverse()
        收藏。反向(列表);

        //使用StringBuilder將ArrayList轉(zhuǎn)換為String并返回它
        StringBuilder的 建設(shè)者 =  新 的StringBuilder(名單。大小());
        for(字符 c:列表)
            建設(shè)者。追加(c);

        返回 建設(shè)者。toString();
    }

    public  static  void  main(String [] args){
        String  str  =  “Java Guides” ;

        // String是不可變的
        str  =  reverse(str);

        系統(tǒng)。出。println(“給定字符串的反轉(zhuǎn)是:”  +  str);
    }
}

產(chǎn)量

反向 的 在 給定的 字符串 是:sediuG  avaJ

8.使用字節(jié)數(shù)組

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  ReverseStringUsingByteArray {
    //使用字節(jié)數(shù)組在Java中反轉(zhuǎn)字符串的函數(shù)
    public  static  String  reverse(String  str){
        //如果string為null或?yàn)榭談t返回
        如果(STR  ==  空 ||  海峽。等號(hào)(“” ))
            返回 str ;

        //將字符串轉(zhuǎn)換為字節(jié)
        byte [] bytes  =  str。getBytes();

        //從給定字符串的兩個(gè)端點(diǎn)l和h開(kāi)始
        //并在循環(huán)的每次迭代中遞增l和遞減h
        //直到兩個(gè)終點(diǎn)相交(l> = h)
        對(duì)(INT  升 =  0,?  =  STR。長(zhǎng)度()-  1 ; 升 <  ? ; 升++,? -){
            //在l和h處交換值
            byte  temp  =  bytes [ l ];
            bytes [ l ] =  bytes [ h ];
            bytes [ h ] =  temp ;
        }

        //將字節(jié)數(shù)組轉(zhuǎn)換回字符串
        return  new  String(bytes);
    }

    public  static  void  main(String [] args){
        String  str  =  “Java Guides” ;

        // String是不可變的
        str  =  reverse(str);

        系統(tǒng)。出。println(“給定字符串的反轉(zhuǎn)是:”  +  str);
    }
}

產(chǎn)量

反向 的 在 給定的 字符串 是:sediuG  avaJ

9.使用substring()方法

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  UsingSubStringFunction {
    //使用遞歸在Java中反轉(zhuǎn)字符串的函數(shù)
    private  static  String  reverse(String  str){
        //基本情況:如果string為null或?yàn)榭?
        如果(STR  ==  空 ||  海峽。等號(hào)(“” ))
            返回 str ;

        //最后一個(gè)字符+遞歸剩下的字符串
        返回 str。的charAt(STR。長(zhǎng)度()-  1)+  反向(STR。子串(0,STR。長(zhǎng)度()-  1));
    }

    public  static  void  main(String [] args){
        String  str  =  “javaguides” ;

        //字符串是不可變的
        str  =  reverse(str);

        系統(tǒng)。出。println(“給定字符串的反轉(zhuǎn)是:”  +  str);
    }
}

產(chǎn)量

反向 的 在 給定的 字符串 是:sediugavaj

10.使用遞歸

包 網(wǎng)。javaguides。corejava。串 ;

/ **
 *
 * @author Ramesh Fadatare
 *
 * /
public  class  UsingRecursion {
    static  int  i  =  0 ;

    //使用靜態(tài)變量在Java中反轉(zhuǎn)字符串的遞歸函數(shù)
    private  static  void  reverse(char [] str,int  k){
        //如果我們到達(dá)了字符串的末尾
        如果(?  ==  STR。長(zhǎng)度)
            回歸 ;

        //遞歸下一個(gè)角色
        反轉(zhuǎn)(str,k  +  1);

        if(i  <=  k){
            char  temp  =  str [ k ];
            str [ k ] =  str [ i ];
            str [ i ++ ] =  temp ;
        }
    }

    public  static  String  reverse(String  str){
        //基本情況:如果string為null或?yàn)榭?
        如果(STR  ==  空 ||  海峽。等號(hào)(“” ))
            返回 str ;

        //將字符串轉(zhuǎn)換為字符數(shù)組
        char [] A  =  str。toCharArray();

        //反向字符數(shù)組
        反向(A,0);

        //將字符數(shù)組轉(zhuǎn)換為字符串
        return  String。copyValueOf(A);
    }

    public  static  void  main(String [] args){
        String  str  =  “Java Guides” ;

        //字符串是不可變的
        str  =  reverse(str);

        系統(tǒng)。出。println(“給定字符串的反轉(zhuǎn)是:”  +  str);
    }
}

產(chǎn)量

反向 的 在 給定的 字符串 是:sediuG  avaJ

本文題目:在Java中反轉(zhuǎn)字符串的10種方法[Snippets]
文章轉(zhuǎn)載:http://chinadenli.net/article12/giocgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站導(dǎo)航、定制網(wǎng)站、服務(wù)器托管微信小程序、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)