问题:
输入样例:
Hello World and Coders
输出样例:
sredoC dna dlroW olleH
方法一:
/*
*该方法是比较笨拙的方法,也是易于想到的方法
*
*/
package OJ1;
import java.util.*;
public class test2_1 {
public static String FirstReverse(String str) {
char [] arr = str.toCharArray();//这里是将一个字符串转化成字符数组,应用到".toCharArray()"
char[] brr =str.toCharArray();//这里设置两个数组是用来后续转化的,初始化均为str是为了方便,
//若不使用两个字符串数组则在后续的转化中会出现逻辑问题
int j=0;
for(int i=str.length()-1;i>=0;i--)
{
brr[j]=arr[i];
j++;
}
str = new String(brr);//这里是将字符数组转化成字符串,题目要求输出为字符串类型
return str;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Please input a string:");
Scanner s = new Scanner(System.in);
System.out.print("The result is :"+FirstReverse(s.nextLine()));
}
}
运行结果:
方法二:
/*
*该方法较为简单直接
*
*/
package OJ1;
import java.util.*;
import java.io.*;
public class test2_2 {
public static String FirstReverse(String str) {
return new StringBuilder(str).reverse().toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Please input a string:");
Scanner s = new Scanner(System.in);
System.out.print("The result is :"+FirstReverse(s.nextLine()));
}
}
运行结果:
总结:
String 的常用方法:
假如定义了一个 String str = "Hello Java";
1.求str的长度:
str.length();表示该字符串的长度。注意:在该字符串中"Hello"与"Java"之间有个空格,该空格也算一个字符!如图:
2.格式化数字可以使用 printf() 和 format() 方法的区别,String.format()的最终结果是一个String类,而printf()则是主方法中的格式化输出格式。
这里的String.format("浮点型变量的值为 " + "%.4f, 整型变量的值为 " + " %.2f, 字符串变量的值为 " + "is %s", a,b,s)实际上是:
String fs;
fs = String.format("浮点型变量的值为 " + "%.4f, 整型变量的值为 " + " %.2f, 字符串变量的值为 " + "is %s", a,b,s);
而输出的则是 System.out.println(fs);
3.字符串和字符数组之间的相互转化:
字符串------>字符数组:char[] Arr = str.toCharArray();此时字符数组中的值为 Arr[] = {"H","o","l","l","e"," ","J","a","v","a"};
字符数组------>字符串:若char[] Arr = {"H","o","l","l","e"," ","J","a","v","a"}; ster =new String(Arr);此时str为"Hello Java";
4.当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。下面是几种常见的StringBuffer和StringBilder类方法的使用:
4.1 ".reserse()"将原有字符串反转
4.2 ".append(String str)"在原来字符串后直接添加字符串
4.3 ".delet(int strat,int end)"用来删除原来字符串中从第“2”到第“7”位之间的子字符串
4.4 ".replace(int start,int end,string str)"用“string str”字符串替代原字符串中从“start”到“end”之间的子字符串
用法还有很多,不一一列举出来了!