天天看点

蓝桥杯-字符串删除

package exec;

import java.util.Scanner;

/**
问题描述
  编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。
  输入格式:输入有两行,第一行是一个字符串(内部没有空格),第二行是一个字符。
  输出格式:经过处理以后的字符串。
输入输出样例
样例输入
123-45-678
-
样例输出
12345678
 * @author Vivinia
 *
 * 2018年2月5日
 */
public class B {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String str=input.nextLine();              //nextLine可以接收空格
		String ch=input.nextLine();
		String s="";
		if(str.equals(" ")||ch.equals(" "))      //""和" "是不一样的
			return;
		for(int i=0;i<str.length();i++) {
			if(str.charAt(i)!=ch.charAt(0))
				s+=str.charAt(i);
		}
		System.out.println(s);
	}

}
           

很简单的题目,但是有几个小细节需要注意:

1.测试样例有几个特殊的情况,就是输入两个全为空,或者第二个输入样例为空,那样输出都为空的,所以得加上判断,如果为空就终止方法;

2.对于输入空格情况,需要使用nextLine(),而不能使用next(),nextLine()接收一行,可以包括空格,以回车作为终止,next()接收一段,以空格作为终止;

3.判断为空格时,需要str.equsla(" "),而不能str.equals(""),前一种代表的是和长度为一空格比较,后一种是空字符串,长度为0;

继续阅读