从键盘中输入一个字符串,如果存在多个空格,则压缩到之间只存在一个空格,行首和行尾存在的空格全部去掉。
具体代码如下:
import java.util.Scanner;
//将字符串中的n个空格压缩成一个,减少n-1个空格,行首/行尾的空格全部去掉
public class YaSuo {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = sc.nextLine();
String s = "";
//避免超出范围
for(int i = 0;i<str.length()-1;i++){
//空格代表32
if((int)str.charAt(i)==32 && (int)str.charAt(i+1)==32 ){
continue;
}
s+=str.charAt(i);
}
//如果最后一个字符不是空格则添加到字符串s中,是则不添加
if(str.charAt(str.length()-1)!= 32){
s+=str.charAt(str.length()-1);
}
//防止行首出现空格
System.out.print(s.trim());
}
}
其中trim()方法是忽略前导空白和尾部空白