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;