//第一種:
public class Sl{
public static void main(String[] args){
String str = " Hello world java ";
int start = 0;
int end = str.length() - 1;
//charAt(index) 找到指定下标的字元并傳回和空格進行對比
//如果是空格start就自增,自增副作用在這裡也是想要的,這裡最後start就是字元串第一個字元的下标
while(str.charAt(start)==' '){
start++;
}
//從字元串尾部依次向前和空格進行對比
while(str.charAt(end)==' '){
end--;
}
System.out.println("|"+ str + "|");
//end+1是因為開始和結束是半閉半開的區間,也就是[start,end) 是無法取到end的,是以這裡要+1
System.out.println("|"+ str.substring(start,end+1) + "|");
}
}
//第二種:
public class Demo{
public static void main(String[] args){
String str = " Hello world java ";
String trimStr;
int startIndex = 0;
int endIndex = 0;
//将字元串轉為字元數組用于循環中的計算
char[] arrCh =str.toCharArray();
for(int i = 0;i<arrCh.length;i++)
if(arrCh[i]==' ')
startIndex = i;
else
break;
for(int i = arrCh.length-1;i>=0;i--)
if(arrCh[i]==' ')
endIndex = i;
else
break;
//字元數組轉為字元串
//循環取到的是頭部最後一個空格的下标,是以startIndex需要加1
//尾部循環取到的是尾部最後一個空格,但是因為是半閉半開
//[startIndex,endIndex) 是以endIndex直接用不需要-1
trimStr=str.substring(startIndex+1, endIndex);
System.out.println("|"+str+"|");
System.out.println("|"+trimStr+"|");
}
}