交换字符串中字符的Java程序

交换字符串中字符的Java程序,java,Java,我正在编写一个Java程序来加密一个四位数的数字。有些程序需要将第1位与第3位交换,第2位与第4位交换。。。这是我写的,但不起作用。 例如,如果我的输入是9876,那么在这四次交换之后,它将给出输出9898。这意味着第一次和第三次互换不起作用。但如果我评论第二次和第四次交换,那么第一次和第三次交换就行了 char ch; ch=str.charAt(0); str=str.replace(str.charAt(0),str.charAt(2)); str=st

我正在编写一个Java程序来加密一个四位数的数字。有些程序需要将第1位与第3位交换,第2位与第4位交换。。。这是我写的,但不起作用。 例如,如果我的输入是9876,那么在这四次交换之后,它将给出输出9898。这意味着第一次和第三次互换不起作用。但如果我评论第二次和第四次交换,那么第一次和第三次交换就行了

 char ch;
 ch=str.charAt(0);
        str=str.replace(str.charAt(0),str.charAt(2));
        str=str.replace(str.charAt(2),ch);


        ch=str.charAt(1);
        str=str.replace(str.charAt(1),str.charAt(3));
        str=str.replace(str.charAt(3),ch);

通过调用
toCharArray()
检索
String
实例的内部字符数组,然后使用健壮的助手
swap()
方法交换该字符数组的特定元素。然后,通过调用
tocharray()
将修改后的字符数组转换回
String

获取
String
实例的内部字符数组,然后使用健壮的助手
swap()
方法交换该字符数组的特定元素。然后,通过调用
tocharray()
将修改后的字符数组转换回
String

获取
String
实例的内部字符数组,然后使用健壮的助手
swap()
方法交换该字符数组的特定元素。然后,通过调用
tocharray()
将修改后的字符数组转换回
String

获取
String
实例的内部字符数组,然后使用健壮的助手
swap()
方法交换该字符数组的特定元素。然后将修改后的字符数组转换回
字符串

您也可以使用子字符串,例如:

str = str.substring(2,3) + str.substring(3,4) + str.substring(0,1) + str.substring(1,2);
将后两位数字更改为前两位也是等效的(它适合您的情况,而且速度更快):


也可以使用子字符串,例如:

str = str.substring(2,3) + str.substring(3,4) + str.substring(0,1) + str.substring(1,2);
将后两位数字更改为前两位也是等效的(它适合您的情况,而且速度更快):


也可以使用子字符串,例如:

str = str.substring(2,3) + str.substring(3,4) + str.substring(0,1) + str.substring(1,2);
将后两位数字更改为前两位也是等效的(它适合您的情况,而且速度更快):


也可以使用子字符串,例如:

str = str.substring(2,3) + str.substring(3,4) + str.substring(0,1) + str.substring(1,2);
将后两位数字更改为前两位也是等效的(它适合您的情况,而且速度更快):