描述:给我一个字符串,例如I love java,输出: java love I
方法一
- publicclassStringReverse{
- publicvoidswap(char[]arr,intbegin,intend){
- while(begin<end){
- chartemp=arr[begin];
- arr[begin]=arr[end];
- arr[end]=temp;
- begin++;
- end--;
- }
- }
- publicStringswapWords(Stringstr){
- char[]arr=str.toCharArray();
- swap(arr,0,arr.length-1);
- intbegin=0;
- for(inti=1;i<arr.length;i++){
- if(arr[i]==''){
- swap(arr,begin,i-1);
- begin=i+1;
- }
- }
- returnnewString(arr);
- }
- publicstaticvoidmain(String[]args){
- Stringstr="Ilovejava";
- System.out.println(newStringReverse().swapWords(str));
- }
- }
public class StringReverse {
public void swap(char[] arr, int begin, int end) {
while(begin < end) {
char temp = arr[begin];
arr[begin] = arr[end];
arr[end] = temp;
begin++;
end--;
}
}
//I love java
public String swapWords(String str) {
char[] arr = str.toCharArray();
swap(arr, 0, arr.length - 1);
int begin = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] == ' ') {
swap(arr, begin, i - 1);
begin = i + 1;
}
}
return new String(arr);
}
public static void main(String[] args) {
String str = "I love java";
System.out.println(new StringReverse().swapWords(str));
}
}
方法二:(利用jdk提供的方法)
- publicclassMain{
- publicstaticvoidmain(String[]args){
- Scannersc=newScanner(System.in);
- Stringstr=sc.nextLine();
- String[]sArr=str.split("");
- List<String>list=newArrayList<String>();
- list=Arrays.asList(sArr);
- Collections.reverse(list);
- for(Stringword:list){
- System.out.print(word+"");
- }
- }
- }
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] sArr = str.split(" ");//I love java
List<String> list = new ArrayList<String>();
list = Arrays.asList(sArr);
// for(int i=0;i<sArr.length;i++){
// list.add(sArr[i]);
// }
Collections.reverse(list);
for(String word:list){
System.out.print(word+" ");
}
}
}
另外,如果描述改一下,输入一个字符串,例如“abcd”,输出"dcba",
当然了方法很多,这里我提供一个jdk自带的方法,比较简单
- publicstaticStringreverse(Stringstr){
- returnnewStringBuilder(str).reverse().toString();
- }
public static String reverse(String str){
return new StringBuilder(str).reverse().toString();
}
- @Test
- publicvoidtest09(){
- Stringstr="hello";
- for(inti=str.length()-1;i>=0;i--){
- charc=str.charAt(i);
- System.out.print(c);
- }
- }
@Test
public void test09() {
String str = "hello";
for (int i = str.length() - 1; i >= 0; i--) {
char c = str.charAt(i);
System.out.print(c);
}
}
分享到:
相关推荐
### 字符串反转的N种方法:C#中的实践与探讨 #### 使用Array.Reverse方法 在C#中,`Array.Reverse`方法提供了一种简单...理解并掌握这些不同的字符串反转方法,有助于开发者根据具体需求灵活选择最合适的解决方案。
### Java使用递归实现字符串反转 在Java编程语言中,递归是一种常用的方法来解决许多问题,特别是那些可以通过分解成更小子问题来解决的问题。本文将详细介绍如何使用递归来实现字符串的反转。 #### 一、递归基础...
### 使用几种常见的方法实现字符串反转 #### 知识点一:使用`BufferedReader`实现字符串反转 在Java中,可以通过`BufferedReader`类从字符流中读取文本,并利用循环来实现字符串的反转。 1. **引入必要的包**: ...
第一个程序使用了指针p1和p2来实现字符串的反转,首先将用户输入的字符串存储在数组a中,然后使用指针p1和p2来将字符串反转,并将反转后的字符串存储在数组b中。第二个程序定义了一个reverse函数,该函数使用指针p来...
1. 字符串反转的原理和方法 2. 字符串逆序的处理方法 3. C语言实现字符串反转及逆序的步骤和代码解析 4. 指针的使用技巧 5. 字符串处理函数的运用 6. 常见的字符串处理问题和解决方案 1. 字符串反转的原理和方法: ...
在处理字符串时,Python提供了多种操作,其中就包括字符串反转。在本文中,我们将深入探讨Python中用于反转字符串的两种主要方法:使用切片操作和利用`reversed()`函数。 首先,让我们了解Python中的字符串。字符串...
这篇总结主要探讨了多种在Java中实现字符串反转的方法,适合初学者学习和理解。下面,我们将详细解析这些方法。 1. **StringBuilder或StringBuffer的reverse()方法** `StringBuilder`和`StringBuffer`类提供了内置...
本文将基于“递归方法求阶乘与字符串反转”这一主题,深入探讨递归的基本概念、工作原理以及如何在C#语言中实现阶乘计算和字符串反转。 ### 一、递归的基本概念 递归(Recursion)是指在函数的定义或算法的描述中...
### Python用递归实现字符串反转 #### 知识点概览 1. **递归的基本概念** 2. **Python中的递归函数实现** 3. **字符串处理与操作** 4. **递归在字符串反转中的应用** 5. **递归调用的深度限制问题** #### 递归的...
### 字符串反转的方法 #### 方法一:使用字符数组实现反转 在第一个示例代码中,使用了字符数组来实现字符串的反转。 ```java public static void main(String[] args) { String str = args[0]; char[] ch = str...
总结来说,字符串反转与向量旋转都是数据操作中的基础问题,它们在实际应用中广泛存在。理解并掌握这些基本操作对提升编程能力,特别是在算法设计和优化上有着不可小觑的作用。虽然这两种方法在解决问题时各有优劣,...
本文将详细介绍三种在Java中实现字符串反转的方法。 方法一:使用StringBuilder类 StringBuilder是Java中的一个类,它提供了动态构建字符串的能力,支持字符串的修改。因此,反转字符串的一个有效方法是通过...
Java实现的简单字符串反转操作示例 ...Java中的字符串反转操作可以使用多种方法实现,包括遍历逆序输出和使用StringBuffer类的reverse()方法等。同时,Java中的字符串操作技巧非常丰富,需要读者深入学习和实践。
在 Java 编程中,字符串反转是一个常见的操作,特别是在处理文本数据时。本文将深入探讨在 Java 中如何反转字符串,并提供几种不同的实现方法。首先,我们需要了解 Java 中字符串的特性。 1. **字符串不可变性**:...
### 字符串反转 在计算机科学中,字符串反转是一个常见的操作,主要用于改变字符串中的字符顺序。此过程在很多场合都非常有用,例如数据处理、文本分析等。 #### 实现原理: 根据给定的部分代码示例,我们可以...
本文将对两种主要的字符串操作进行总结:字符串反转和单词反转。 1. 字符串反转 字符串反转是指将一个字符串中的字符顺序颠倒,使得原本在后面的字符现在出现在前面。这里我们有两种实现方法: - 使用`System....
### 字符串翻转方法三种 在JavaScript中,字符串翻转是一个常见的操作需求,它能够帮助开发者快速地处理数据或实现特定的功能。本文将详细介绍三种不同的字符串翻转方法,并通过示例代码帮助读者更好地理解和应用...
本文将详细探讨PHP中的字符串反转方法,包括单字节字符串的反转、多字节字符串(尤其是包含中文字符)的反转,以及通过算法实现的字符串反转。 1. 单字节字符串反转 PHP提供了一个内置函数`strrev()`,专门用于反转...
- **字符串反转**:通过 `StringBuffer` 的 `append()` 方法将字符逐个加入,并且是从字符串的末尾向前遍历,最终得到反转后的字符串。 ### 五、总结 此Java程序通过使用Swing组件实现了字符反转功能,并且具备简单...
它首先创建一个包含原字符串所有字符的列表,然后使用列表推导式进行反转,最后使用`join()`方法将列表中的元素连接成一个新字符串。 **代码示例:** ```python s = 'Wonderfulnight!' reversed_s = ''.join([s[i]...