帮我把C代码翻译成java的!!!感激不尽

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:36:39
刚学java,对字符串的方法不熟悉,
能帮我翻译一下下面的代码吗???
#include<stdio.h>
#include<string.h>
char str[21];
int length;
void pailie(int move_here)
{ int i=move_here,j;
char save[21];
for(;i<length;i++)
{ char temp=str[i];
strcpy(save,str);
for(j=i;j>move_here;j--)
str[j]=str[j-1];
str[j]=temp;
if(move_here<length-1) pailie(move_here+1);
else printf("%s\n",str);
strcpy(str,save);
}
}
void main()
{ printf("input a string:");
scanf("%s",str);
length=strlen(str);
pailie(0);
}

public class A{
public static char[] str = new char[21];
public void pailie(int move_here){
int length = str.length;
int i = move_here,j;
char[] save = new char[21];
for(;i<length;i++){
char temp = str[j-1];
save = str;
for(j=i;j>move_here;j--){
str[j]=str[j-1];
}
str[j]=temp;
if(move_here<length-1){
pailie(move_here+1);
}else {
for(int k=0;k<str.length;k++){
System.out.print(str[k]);
}
System.out.println();
}
str=save;
}
}
public static void main(String[] args){
Syste.out.println("input a string");
str = args[0].toCharArray();
pailie(0);
}
}
java里scanf("%s",str); 的语句实现起来很困难,所以从命令好输入比较好解决。我这个程序是从命令好输入的,没有真正的编译过,所以可能会出问题!暂且作为参考吧!