public static void order() throws IOException {
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
String str = br.readLine(); //------------------
char c[] = str.toCharArray();
int len = str.length();
len--;
char temp;
for (int j = 0; j < len; j++, len--) {
temp = c[j];
c[j] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, str.length()));
} public static void reverseOrder(String input) {
char temp;
String newStr = ""; // abcd
int len = input.length()-1;
char[] c = input.toCharArray();
for (int i = 0; i < len; i++, len--) {
temp = c[i];
c[i] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, input.length()));
}
看看第二个那写的有误。
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
String str = br.readLine(); //------------------
char c[] = str.toCharArray();
int len = str.length();
len--;
char temp;
for (int j = 0; j < len; j++, len--) {
temp = c[j];
c[j] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, str.length()));
} public static void reverseOrder(String input) {
char temp;
String newStr = ""; // abcd
int len = input.length()-1;
char[] c = input.toCharArray();
for (int i = 0; i < len; i++, len--) {
temp = c[i];
c[i] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, input.length()));
}
看看第二个那写的有误。
如果只是为了反转字符串,可以使用StringBuilder的reverse方法
for example
StringBuilder sb = new StringBuilder("abcd");
System.out.println(sb.reverse());
public class Test{
public static void main(String[] args){
reverseOrder("hello world!");
}static void reverseOrder(String input) {
char temp;
int len = input.length()-1;
char[] c = input.toCharArray();
for (int i = 0; i < len; i++, len--) {
temp = c[i];
c[i] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, input.length()));
}
}
输出:!dlrow olleh
实现了功能,一切正常;
如果LZ是说下面的代码显示的结果未实现功能的话,那就是传值方面的问题,建议看看有关传值的帖子,CSDN里巨多public class Test{
public static void main(String[] args){
String input="hello world!";
reverseOrder(input);
System.out.println(input);
} static void reverseOrder(String input) {
char temp;
int len = input.length()-1;
char[] c = input.toCharArray();
for (int i = 0; i < len; i++, len--) {
temp = c[i];
c[i] = c[len];
c[len] = temp;
}
}
}
String str = "abcd";
reverseOrder(str);
System.out.println(str); //是说这里没起作用吧?
好好想想值传递吧?