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;