这是第四题了
逆转字符串
编写程序,输入一个字符串(长度不超过30个字符),要求使用指针,按逆序输出这个字符串。
输入格式
输入一个字符串
输出格式
把这个字符串逆向输出
样例输入
abc
样例输出
cba
开始的代码
import java.util.Scanner;
public class four01 {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sc = new Scanner(System.in);
String a = sc.next();
int n = a.length();
String temp = "";
String sub1 = "";
for (int i = 0; i < n; i++) {
sub1 = a.substring(i, i + 1);
temp = sub1 + temp;
}
System.out.println(temp);
}
}
别人教的代码
import java.util.Scanner;
public class four02 {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sc = new Scanner(System.in);
String a = sc.next();
int n = a.length();
char[] arr = a.toCharArray();
char temp = ' ';
for (int i = 0; i < n / 2; i++) {
temp = arr[i];
arr[i] = arr[n - 1 - i];
arr[n - 1 - i] = temp;
}
String ans = new String(arr);
System.out.println(ans);
}
}
经过对比,可以发现虽然都能运行,但是自己写的和大佬写的效率都不是一个等级的,不过好歹自己能写出来了,也算是有进步了,继续加油!
补充:
String类的常用方法
1.public char charAt(int index):返回char指定索引处的值。
2.public String concat(String str):将指定的字符串连接到该字符串的末尾。
3.public boolean equals(Object anObject):将此字符串与指定对象进行比较。
4.public boolean isEmpty():返回 true如果,且仅当 length()为 0 。
5.public int length():返回此字符串的长度。
6.public String substring(int beginIndex, int endIndex) :返回一个字符串,该字符串是此字符串的子字符串。
7.public String replace(char oldChar, char newChar) :返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 。
8.public char[] toCharArray() :将此字符串转换为新的字符数组。
9.public String toString() :此对象(已经是字符串!)本身已被返回。
10.public String trim():返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。