在之前笔试时我遇到了将“i am a student”转为”student am a i”这样一个问题,当时我完全没有思路,后来在网上找到了一些相当精妙的解答,比如先逆序字符串再逆序单词、使用栈的先进后出来解答。
但我这是只使用数组和循环完成的,于是就分享给大家。
public class demo3 {
@SuppressWarnings("deprecation")
public static void main(String args[]){
String str="i am a student";
int i,j=0,k=0;
char c[]=str.toCharArray();
char a[][]=new char[4][8];
for(i=0;i<c.length;i++) {
a[j][k]=c[i];
k++;
if (Character.isSpace(c[i])) {
j++;
k=0;
}
}
loop:for(j=3;j>=0;j--) {
for(k=0;k<8;k++) {
System.out.print(a[j][k]);//输出字符
if (Character.isSpace(a[j][k])) continue loop;//如果发现为空跳到第一循环
}
}
}
}