大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java反轉字符串

Java反轉字符串

更新時間:2022-08-31 10:47:58 來源:動力節點 瀏覽1097次

本文通過示例討論了在 Java 中反轉字符串的不同方法。

例子:

先決條件:Java中的String vs StringBuilder vs StringBuffer

以下是關于 String 和 StringBuilder 類的一些有趣事實:

String 的對象是不可變的。

Java中的String類沒有reverse()方法,但是StringBuilder類有內置的reverse()方法。

StringBuilder 類沒有 toCharArray() 方法,而 String 類有 toCharArray() 方法。

1.思路是遍歷字符串的長度

2.遍歷時提取每個字符

3.在現有字符串前面添加每個字符

執行:

// java program to reverse a word
import java.io.*;
import java.util.Scanner;
class GFG {
	public static void main (String[] args) {		
		String str= "Geeks", nstr="";
		char ch;		
	System.out.print("Original word: ");
	System.out.println("Geeks"); //Example word		
	for (int i=0; i<str.length(); i++)
	{
		ch= str.charAt(i); //extracts each character
		nstr= ch+nstr; //adds each character in front of the existing string
	}
	System.out.println("Reversed word: "+ nstr);
	}
}
//Contributed by Tiyasa

輸出

原詞:極客
反義詞:skeeG

將字符串轉換為字節: getBytes() 方法用于將輸入字符串轉換為字節[]。

方法:

1. 創建一個長度相等的臨時 byte[]到輸入字符串的長度。

2.存儲字節(我們通過使用

getBytes() 方法)以相反的順序進入臨時字節[]。

3. 使用 byte[] 創建一個新的 String abject存儲結果。

執行:

// Java program to ReverseString using ByteArray.
import java.lang.*;
import java.io.*;
import java.util.*;
// Class of ReverseString
class ReverseString {
	public static void main(String[] args)
	{
		String input = "GeeksforGeeks";
		// getBytes() method to convert string
		// into bytes[].
		byte[] strAsByteArray = input.getBytes();
		byte[] result = new byte[strAsByteArray.length];
		// Store result in reverse order into the
		// result byte[]
		for (int i = 0; i < strAsByteArray.length; i++)
			result[i] = strAsByteArray[strAsByteArray.length - i - 1];
		System.out.println(new String(result));
	}
}

輸出

skeeGrofskeeG

使用 StringBuilder 類的內置 reverse() 方法:

String類沒有reverse()方法,我們需要將輸入的字符串轉換為StringBuilder,通過StringBuilder的append方法實現。之后,通過從第一個索引到最后一個索引進行掃描,打印出反轉字符串的字符。

執行:

// Java program to ReverseString using StringBuilder
import java.lang.*;
import java.io.*;
import java.util.*;
// Class of ReverseString
class ReverseString {
	public static void main(String[] args)
	{
		String input = "Geeks for Geeks";
		StringBuilder input1 = new StringBuilder();
		// append a string into StringBuilder input1
		input1.append(input);
		// reverse StringBuilder input1
		input1.reverse();
		// print reversed String
		System.out.println(input1);
	}
}

輸出

skeeG rof skeeG

將字符串轉換為字符數組:用戶輸入要反轉的字符串。

方法:

1.首先將String轉換為字符數組通過使用內置的 Java String 類方法 toCharArray()。

2. 然后,從頭到尾掃描字符串,并一一打印字符。

執行:

// Java program to Reverse a String by
// converting string to characters one
// by one
import java.lang.*;
import java.io.*;
import java.util.*;
// Class of ReverseString
class ReverseString {
	public static void main(String[] args)
	{
		String input = "GeeksForGeeks";
		// convert String to character array
		// by using toCharArray
		char[] try1 = input.toCharArray();
		for (int i = try1.length - 1; i >= 0; i--)
			System.out.print(try1[i]);
	}
}

輸出

skeeGroFskeeG

使用 toCharArray()將輸入字符串轉換為字符數組:

使用 String 類的內置方法 toCharArray() 將輸入字符串轉換為字符數組。然后,同時從兩側掃描字符數組,即從起始索引(左)和最后一個索引(右)。

1.設置left index等于0和right索引等于字符串 -1 的長度。

2.交換起始索引的字符使用最后一個索引掃描進行掃描逐個。之后,增加左邊按 1 索引(左++)并減少右由 1 即,(右--)移動到下一個字符數組中的字符。

3. 繼續直到左邊小于等于正確的。

執行:

// Java program to Reverse a String using swapping
// of variables
import java.lang.*;
import java.io.*;
import java.util.*;
// Class of ReverseString
class ReverseString {
	public static void main(String[] args)
	{
		String input = "Geeks For Geeks";
		char[] temparray = input.toCharArray();
		int left, right = 0;
		right = temparray.length - 1;
		for (left = 0; left < right; left++, right--) {
			// Swap values of left and right
			char temp = temparray[left];
			temparray[left] = temparray[right];
			temparray[right] = temp;
		}
		for (char c : temparray)
			System.out.print(c);
		System.out.println();
	}
}

輸出

斯基格羅夫斯基格

使用 ArrayList 對象:

使用內置的 toCharArray() 方法將輸入字符串轉換為字符數組。然后,將數組的字符添加到 ArrayList 對象中。Java 還為 Collections 類內置了 reverse() 方法。由于 Collections 類的 reverse() 方法接受一個列表對象,為了反轉列表,我們將傳遞 ArrayList 對象,它是一種字符列表。

1.我們將String內容復制到一個對象數組列表。

2. 我們通過使用創建一個 ListIterator 對象ArrayList 上的 listIterator() 方法目的。

3. ListIterator 對象用于迭代名單。

4. ListIterator 對象幫助我們進行迭代在反向列表上并打印一個到輸出屏幕。

執行:

// Java program to Reverse a String using ListIterator
import java.lang.*;
import java.io.*;
import java.util.*;
// Class of ReverseString
class ReverseString {
	public static void main(String[] args)
	{
		String input = "Geeks For Geeks";
		char[] hello = input.toCharArray();
		List<Character> trial1 = new ArrayList<>();
		for (char c : hello)
			trial1.add(c);
		Collections.reverse(trial1);
		ListIterator li = trial1.listIterator();
		while (li.hasNext())
			System.out.print(li.next());
	}
}

輸出

斯基格羅夫斯基格

使用字符串緩沖區:

String類沒有reverse()方法,我們需要將輸入的字符串轉換為StringBuffer,這是通過StringBuffer的reverse方法來實現的。

執行:

// Java program to demonstrate conversion from
// String to StringBuffer and reverse of string
import java.lang.*;
import java.io.*;
import java.util.*;
public class Test {
	public static void main(String[] args)
	{
		String str = "Geeks";
		// conversion from String object to StringBuffer
		StringBuffer sbr = new StringBuffer(str);
		// To reverse the string
		sbr.reverse();
		System.out.println(sbr);
	}
}

輸出

斯基格

通過從用戶那里獲取輸入來反轉字符串

/*package whatever //do not write package name here */
import java.io.*;
import java.util.Scanner;
class GFG {
	public static void main (String[] args) {
		Scanner scanner = new Scanner(System.in);
		String Str = scanner.nextLine();
		char[] arr = Str.toCharArray();				
		String rev = "";	
for(int i = Str.length() - 1; i >= 0; i--)
{
rev = rev + Str.charAt(i);
}
System.out.println(rev);		
	}
}

輸出

0

在上面的代碼中,我們實質上是在開始迭代循環以創建一個新的反轉字符串之前從用戶那里讀取一個字符串。String類的“charAt”函數用于從末尾單獨檢索原始String的每個字符,“+”運算符用于將它們連接成一個新的String。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美精品成人一区二区视频一 | 色婷婷六月桃花综合影院 | 免费观看一级欧美在线视频 | 成人国产精品毛片 | 精品久久精品久久 | 亚洲一区二区在线视频 | 中文字幕亚洲精品久久 | 久久精品国产精品亚洲艾 | 我我色综合 | 韩国女主播一区二区三区视频 | 深夜成人性视频免费看 | 色综合视频 | 国产成人麻豆精品 | 四虎影视免费观看 | 天天干天天噜 | 久久99亚洲精品久久 | 99热这里只有精品3 99热这里只有精品4 | 中国大陆一级毛片 免费 | 免费一级a毛片在线播放视 免费一级成人毛片 | 日韩中文字幕在线视频 | 高清午夜毛片 | 国产一区二区三区毛片 | 久久天天躁狠狠躁夜夜不卡 | 免费亚洲视频在线观看 | 成年女人a毛片免费视频 | 亚洲狠狠婷婷综合久久久久 | 成人国产精品毛片 | 久久亚洲精品久久久久 | 成人国产在线视频 | 精品久久久99大香线蕉 | 四虎8848| 纯欧美一级毛片_免费 | 日日干天天爽 | 久久综合综合久久狠狠狠97色 | 国产欧美在线播放 | 国产精品bdsm在线调教 | 久久久久日韩精品无 | 久久这里只有精品国产 | 91中文字幕在线视频 | 国产精品96久久久久久久 | 亚洲欧美日韩在线中文一 |