给定一个英文字符串,然后倒序输出且不改变单词
public static String reverse(String word){
char[] arr = word.toCharArray();
char[] brr = new char[arr.length];
int count = 0;
for(int i=arr.length-1;i>=0;i--){
if(arr[i]==' '){ //倒叙查找,找到一个空格之后 从空格的下一个坐标开始复制给brr数组
for(int n = i+1;n<arr.length;n++){
brr[count++]= arr[n];
if(n == arr.length-1)
brr[count++] = ' ';//对于最后一个单词,输出完成之后要手动添加一个空格
if(arr[n]==' ') //复制到下一个空格之后 跳出循环查找下一个单词
break;
}
} else if (i == 0){
for(int n = i;n<arr.length;n++){
if(arr[n]==' ')
break; //注意这里的if条件不能写在 brr[count++]= arr[n];之后,因为这里已经是第一个单,空格不能输出,否则brr会越界
brr[count++]= arr[n];
/*if(arr[n]==' ')
break;*/
}
}
}
return new String(brr);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入英文语句:");
String word = sc.nextLine();
System.out.println(reverse(word));
}
}