首页 > 试题广场 >

输入任意ASCII码字符串,将字符串中所有连续出现的字符精简

[问答题]

编写8086宏汇编语言程序,输入任意ASCII码字符串,将字符串中所有连续出现的字符精简为一个字符后打印输出(注意区分大小写字母),如字符串“111222abcdddeEfFggg”可精简为“12abcdeEfFg”。

package maventest;
import java.util.Scanner;

public class StringJingjian {

	public static void main(String[] args) {
		  Scanner sc=new Scanner(System.in);
	         while(sc.hasNext()){
	        	 String s = sc.nextLine();
	        	 jingJian2(s);
	         }
	}
	
	private static void jingJian2(String s) {
		StringBuffer sb = new StringBuffer(s);
		for(int i=0;i<s.length();i++){
			for(int j=i+1;j<s.length();j++){
				if(s.charAt(i) == s.charAt(j)){
					sb.deleteCharAt(j);
					sb.insert(j, ' ');
				}else{
					break;
				}
			}
		}
		System.out.println(sb.toString().replaceAll(" ", ""));
	}
}

发表于 2017-08-16 22:58:38 回复(2)