Java字符串反转 关于Java字符串反转问题

java\u4e2d\u5982\u4f55\u5c06\u5b57\u7b26\u4e32\u53cd\u8f6c\uff1f

package string;

public class StringTest3 {
public static void main(String[] args)
{
String s="abcdefg";
String s2="";
char[] cs=s.toCharArray();
for(int i=cs.length-1;i>=0;i--)
{
s2=s2+cs[i];
}
System.out.println("\u5bf9\u5b57\u7b26\u4e32\u8fdb\u884c\u53cd\u8f6c\u64cd\u4f5c\u540e\u4e3a:"+s2);
StringBuffer sb=new StringBuffer("abcdefg");
StringBuffer sb2=sb.reverse();
System.out.println("\u5bf9StringBuffer\u8fdb\u884c\u53cd\u8f6c\u64cd\u4f5c\u540e\u4e3a:"+sb2);
}

}

\u8fd9\u4e2a\u65b9\u6cd5\u662f\u4e2a\u9012\u5f52\u8c03\u7528\u3002

public static String reverseString(String s){
if(s.length()<2||s==null) return s; //\u5982\u679c\u7a7a\u4e32\u6216\u8005\u53ea\u6709\u4e00\u4e2a\u5b57\u7b26\uff0c\u90a3\u4e48\u4e0d\u53cd\u8f6c\u3002
return reverseString(s.substring(1))+s.charAt(0);} //\u5173\u952e\u5c31\u5728\u8fd9\u91cc\u4e86\uff0c
\u4e0b\u9762\u8bf4\u8bf4\u8fd9\u4e2a
\u8fd9\u4e2a reverseString(s.substring(1)) +s.charAt(0); \u7684\u610f\u601d\u662f\u628a\u5b57\u7b26\u4e32\u7684\u7b2c\u4e00\u4f4d\u632a\u5230\u6700\u540e\u3002\u914d\u5408
reverseString(s.substring(1))\u9012\u5f52\u8c03\u7528\uff0c\u6bcf\u6b21\u90fd\u628a\u5b57\u7b26\u4e32\u7684\u7b2c\u4e00\u4f4d\u632a\u5230\u6700\u540e\u3002\u76f4\u5230\u9012\u5f52\u7684\u53c2\u6570\u53ea\u5269\u4e0b\u4e00\u4e2a\u5b57\u7b26\u4e3a\u6b62\u3002

数组下标 越界 这个是用数组常有错误! 


代码:

import java.util.*;
public class Practise {
public static void main(String[] args) {
System.out.println("输入字符串: ");
Scanner S = new Scanner(System.in);
String b = S.nextLine();
char[] ch = b.toCharArray();
for (int i = ch.length-1;i >=0; i--) {
System.out.print(ch[i]);
}
S.close();
}
}


public class SingleDome{
public static void main(String[] args){
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.println("请输入字符串...");
String str = sc.next();
StringBuffer sb = new StringBuffer();
sb.append(str);
String fanzhuan = String.valueOf(sb.reverse());
System.out.println(fanzhuan);
}
}


数组的索引是从0开始 的 最大为 length-1 循环一开始数组就越界了

for (int i = ch.length-1; i >= 0; i--){ System.out.print(ch[i]); }

  • java涓笉鍊熷姪浠讳綍鐜版湁绫诲簱瀹炵幇瀵瀛楃涓鐨鍙嶈浆鏂规硶
    绛旓細涓妤煎凡缁忓啓鍑轰簡鏍稿績浠g爜锛涗簩妤煎姛鑳藉疄鐜颁簡锛屼絾鐢ㄧ殑鏄被搴撳凡缁忓啓濂界殑鏂规硶銆傛垜鍐嶆潵璇︾粏琛ュ厖涓嬪惂锛歩mport java.util.Scanner;public class ReverseDemo { / description 瀛楃涓鐨鍙嶈浆 / public void reverse(){ System.out.println("璇疯緭鍏ュ瓧绗︿覆锛");Scanner in=new Scanner(System.in);String str=in....
  • java 鎴憇tring浜嗕竴涓猻,鐒跺悗鎶妔鐨瀛楃涓插弽杞,鐢╮everse鏂规硶
    绛旓細绗竴涓棶棰橈細String娌℃湁reverse鏂规硶锛屼綘鍙互 杞垚StringBuffer鍚庤皟鐢 绗簩涓棶棰橈細s涓嶄細鍙樻垚StringBuffer锛屽洜涓簊娌℃湁鍙備笌杞崲銆係tring s="abcd"; //瀹氫箟涓涓猄tring绫诲瀷 StringBuffer sb =new StringBuffer(s);//杞垚StringBuffer灏唖娣诲姞杩涘幓 System.out.println(sb.reverse().toString());//杈撳嚭杞崲...
  • java 鍙嶈浆瀛楃涓 瑕佺敤 recursive鏂规硶鏉ュ啓,闇瑕佺敤public void reverse...
    绛旓細public static void main(String[] args) { String str="abcde";digui(str);} public static void digui(String str){ if(str == null && "".equals(str))return;if(str.length() > 1){ System.out.print(str.charAt(str.length()-1));str = str.substring(0, str.length()-1...
  • java 瀹炵幇瀛楃涓插弽杞,瑕佹眰鏃堕棿鍜岀┖闂村鏉傚害鏈浼
    绛旓細涓嶇煡涓轰綍浣犳湁杩欑鎯虫硶锛屽鏋滄湁濂界殑绠楁硶鍙互鍜屾垜璁ㄨ涓嬶紝涓嬮潰鎴戝啓浜2涓唬鐮佸笇鏈涜兘甯埌浣犮俻ackage app;public class TransDemo { //abcdef鈥鍙嶈浆鍚庝负鈥渇edcba public static void main(String[] args){ String str = "abcdef";char[] ary = str.toCharArray();for(int i = 0; i< str....
  • Java瀛楃涓插弽杞
    绛旓細鏁扮粍涓嬫爣 瓒婄晫 杩欎釜鏄敤鏁扮粍甯告湁閿欒锛佷唬鐮侊細import java.util.*;public class Practise {public static void main(String[] args) {System.out.println("杈撳叆瀛楃涓: ");Scanner S = new Scanner(System.in);String b = S.nextLine();char[] ch = b.toCharArray();for (int i = ch....
  • java 瀛楃鍙嶈浆闂
    绛旓細public static void main(String[] args) { String[] strs = str.split(" ");boolean first = true;for (int len = strs.length - 1; len >= 0; len--) { if (!first) { System.out.print(" ");} first = false;System.out.print(reverse(strs[len]));} } / 鍙嶈浆瀛楃涓...
  • Java 閲屼娇鐢╮everse()鏂规硶鏉ユ妸瀛楃涓插弽杞,涓轰粈涔圝ava鎻愮ず娌℃湁瀹氫箟鏂规硶re...
    绛旓細杩欎釜鏂规硶涓嶆槸jdk鑷甫鐨勶紝闇瑕佽嚜宸卞啓锛屽弬鑰冨涓嬶細public String reverseSting(String inputString) { char[] inputStringArray = inputString.toCharArray();String reverseString = "";for (int i = inputStringArray.length - 1; i >= 0; i--) { reverseString += inputStringArray[i];} retur...
  • JAVA瀛楃涓鍏鍙嶈浆鍐嶅鍔犵殑闂
    绛旓細public class StringTest{ private static int count = 0;private static String func(String str){ int i = str.indexOf(' ');count++;if(i < 0)return str;else{ String w = str.substring(0,i);return func(str.substring(i+1)) + " " + w;} } public static void main(String ...
  • 璇锋暀Java楂樻墜:鍒╃敤瀛楃涓鈥渁bcdef",缂栧啓涓娈电▼搴,缁撴灉杩愯濡備笅: abcd...
    绛旓細杩欎釜鏄埄鐢ㄤ綘璇寸殑閭e嚑涓猄tring鐨勬柟娉曞疄鐜帮紝娉ㄦ剰锛屾渶鍚庝竴涓殑瀛楃涓插弽杞鑷冲皯鏈変笁绉嶆柟娉 鎴戣繖閲屽彧缁欏嚭浜嗘渶绠鍗曠殑涓绉 浠g爜濡備笅锛堝瓨鎴怲est.java锛夛細public class Test { public static void main(String args[]){ String str = "abcdef";String s = str + "g"; // s now is "abcdefg"String ...
  • 缂栧啓涓java绋嬪簭,鑳藉皢浠绘剰鏁存暟鍙嶈浆銆備緥:杈撳叆982176,绯荤粺澶勭悊鍚庤緭鍑轰负67...
    绛旓細//鏂囦欢鍚嶄负Temp_1.java import java.util.*;public class Temp_1{ public static void main(String[] args){ Scanner in=new Scanner(System.in);System.out.println("璇疯緭鍏ヤ竴涓暣鏁帮細");int num=in.nextInt();System.out.println("\n鍙嶈浆鍚庣殑鏁颁负锛");int tmp;while(num!=0){ tmp=...
  • 扩展阅读:字符串反转python ... java字符串123反转 ... java给字符串反转方法 ... java字符串反转和替换 ... java将字符串abs123翻转 ... java链表反转 ... java字符串分割split ... java字符串截取前两位 ... java如何实现字符串反转 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网