代码:
//
//StringReverse.java
//import java.lang.*;public class StringReverse {
public static void main(String args[]) {
String strOutput = new String(args[0]);
int intLength = strOutput.length();
int intHalfLength = intLength/2;
int intLoop;
char chaTemp;
int intRight;
int intLeft;
for (intLoop = 0; intLoop < intHalfLength; intLoop++){
intRight = intHalfLength + intLoop + 1;
intLeft = intHalfLength-intLoop-1;
chaTemp = strOutput.charAt(intRight);
strOutput.charAt(intRight) = strOutput.charAt(intLeft);
strOutput.charAt(intLeft) = chaTemp;
}
System.out.println("Your input is: " + args[0]);
System.out.println("The reversed string is: " + strOutput);
}
}编译结果:
StringReverse.java:22: 意外的类型
需要: 变量
找到: 值
strOutput.charAt(intRight) = strOutput.charAt(intLeft);
^
StringReverse.java:23: 意外的类型
需要: 变量
找到: 值
strOutput.charAt(intLeft) = chaTemp;
^
2 错误
//
//StringReverse.java
//import java.lang.*;public class StringReverse {
public static void main(String args[]) {
String strOutput = new String(args[0]);
int intLength = strOutput.length();
int intHalfLength = intLength/2;
int intLoop;
char chaTemp;
int intRight;
int intLeft;
for (intLoop = 0; intLoop < intHalfLength; intLoop++){
intRight = intHalfLength + intLoop + 1;
intLeft = intHalfLength-intLoop-1;
chaTemp = strOutput.charAt(intRight);
strOutput.charAt(intRight) = strOutput.charAt(intLeft);
strOutput.charAt(intLeft) = chaTemp;
}
System.out.println("Your input is: " + args[0]);
System.out.println("The reversed string is: " + strOutput);
}
}编译结果:
StringReverse.java:22: 意外的类型
需要: 变量
找到: 值
strOutput.charAt(intRight) = strOutput.charAt(intLeft);
^
StringReverse.java:23: 意外的类型
需要: 变量
找到: 值
strOutput.charAt(intLeft) = chaTemp;
^
2 错误
strOutput.charAt(intRight) = strOutput.charAt(intLeft);
strOutput.charAt(intLeft) = chaTemp;
这两句左边应该是一个变量.
strOutput.charAt(intRight) = strOutput.charAt(intLeft);
strOutput.charAt(intLeft) = chaTemp;
这两行报如下错误:
The left-hand side of an assignment must be a variablestrOutput中的某一个字符不是变量。
//
//StringReverse.java
//import java.lang.*;public class StringReverse {
public static void main(String args[]) {
String strInput = new String(args[0]);
char chaOutput[] = new char[args[0].length()];
args[0].getChars(0,args[0].length(),chaOutput,0);
int i;
char charTemp;
for(i = 0; i < args[0].length()/2;i++){
charTemp = chaOutput[i];
chaOutput[i] = chaOutput[args[0].length()- i - 1];
chaOutput[args[0].length()- i - 1] = charTemp;
}
String strOutput = new String(chaOutput);
System.out.println("Your input is: " + args[0]);
System.out.println("The reversed string is: " + strOutput);
}
}调试结果:...Java>java StringReverse abcdefghijklmnopqrstuvwxyz
Your input is: abcdefghijklmnopqrstuvwxyz
The reversed string is: zyxwvutsrqponmlkjihgfedcba多谢各位。
import java.lang.*;public class StringReverse {
public static void main(String args[]) {
String strOutput = new String(args[0]);
int intLength = strOutput.length();
int intHalfLength = intLength/2;
char temp[]=strOutput.toCharArray();
int intLoop;
char chaTemp;
int intRight;
int intLeft;
for (intLoop = 0; intLoop < intHalfLength; intLoop++)
{
intRight = intHalfLength + intLoop + 1;
intLeft = intHalfLength-intLoop-1;
chaTemp = temp[intRight];
temp[intRight] = temp[intLeft];
temp[intLeft]= chaTemp;
}
strOutput=new String(temp);
System.out.println("Your input is: " + args[0]);
System.out.println("The reversed string is: " + strOutput);
}
}
要改变字符串的值要用replace函数,但是感觉不好操作。还是现转为字符数组来操作容易点。
不能用String 要用StringBuffer