递归 反转字符串_使用递归反转字符串
遞歸 反轉(zhuǎn)字符串
1.簡介
在本文中,您將學(xué)習(xí)如何使用遞歸方法來反轉(zhuǎn)字符串。 第一個(gè)程序是反轉(zhuǎn)字符串,第二個(gè)程序?qū)⒆x取用戶的輸入。
在之前的文章中,我已經(jīng)展示了如何不使用任何內(nèi)置函數(shù)來反轉(zhuǎn)字符串,以及如何反轉(zhuǎn)字符串中的單詞 。
2.什么是遞歸
遞歸方法是計(jì)算機(jī)科學(xué)中的一種方法,它用不同的輸入調(diào)用相同的函數(shù)。
遞歸方法必須至少有一個(gè)參數(shù)。
這種方法很容易解決許多復(fù)雜的程序,但是您必須非常小心,否則會(huì)產(chǎn)生StackOverflow或內(nèi)存不足錯(cuò)誤。
3.使用遞歸反轉(zhuǎn)字符串的示例程序
要理解該程序,您應(yīng)該知道兩個(gè)String類方法,它們是charAt()和substring()方法。
package com.javaprogramto.w3schools.programs.string;public class StringReverseRecursion {public static void main(String[] args) {String s1 = "Welcome to the javaprogramto.com";String reversedS1 = reverseString(s1);System.out.println("String s1 before reversing : "+s1);System.out.println("Reversed String s1 : "+reversedS1);String s2 = "Another String s2";String reversedS2 = reverseString(s2);System.out.println("String s2 before reversing : "+s2);System.out.println("Reversed String s2 : "+reversedS2);}private static String reverseString(String sentense){if (sentense.isEmpty())return sentense;//Calling method Recursivelyreturn reverseString(sentense.substring(1)) + sentense.charAt(0);} }輸出:
String s1 before reversing : Welcome to the javaprogramto.com Reversed String s1 : moc.otmargorpavaj eht ot emocleW String s2 before reversing : Another String s2 Reversed String s2 : 2s gnirtS rehtonA4.另一個(gè)示例,從用戶反向讀取String
在此程序中,用戶必須輸入要反轉(zhuǎn)的字符串。 掃描程序類nextLine()方法用于從用戶鍵盤讀取輸入字符串,并將字符串值傳遞給遞歸方法reverseString()。
package com.javaprogramto.w3schools.programs.string;import java.util.Scanner;public class StringReverseRecursionFromUser {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("Enter String One");String s1 = scanner.nextLine();String reversedS1 = reverseString(s1);System.out.println("String s1 before reversing : "+s1);System.out.println("Reversed String s1 : "+reversedS1);System.out.println("Enter String Two");String s2 = scanner.nextLine();String reversedS2 = reverseString(s2);System.out.println("String s2 before reversing : "+s2);System.out.println("Reversed String s2 : "+reversedS2);}private static String reverseString(String sentense){if (sentense.isEmpty())return sentense;//Calling method Recursivelyreturn reverseString(sentense.substring(1)) + sentense.charAt(0);} }輸出:
Enter String One Reading from user String s1 before reversing : Reading from user Reversed String s1 : resu morf gnidaeR Enter String Two String entered by user String s2 before reversing : String entered by user Reversed String s2 : resu yb deretne gnirtS5.結(jié)論
在本文中,我們已經(jīng)看到了如何使用遞歸技術(shù)來反轉(zhuǎn)String 。
本文顯示的所有代碼都在GitHub上 。
翻譯自: https://www.javacodegeeks.com/2020/06/reverse-a-string-using-recursion.html
遞歸 反轉(zhuǎn)字符串
總結(jié)
以上是生活随笔為你收集整理的递归 反转字符串_使用递归反转字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jq怎么实现代码复用(jquery提高代
- 下一篇: 代码大全和新月神话_神话般的代码