作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里想做的是让用户输入一个句子或某种类型的字符串,然后让扫描仪搜索该字符串以确定其中是否有“e”或“E”。如果扫描仪找到其中之一,它将用“xyz”替换它们。如果他们不存在,那么它应该返回“一切都很好!”到目前为止我的代码是:
public class Example {
String userInput;
Scanner in = new Scanner(System.in);
System.out.println("Please write a sentence.");
userInput = in.nextLine();
System.out.println(userInput.replace("e","xyz"));
System.out.println(userInput.replace("E","xyz"));
in.close();
}
我认为你可以看出这实际上只是打印同一行两次,一次删除小写 e,另一次删除大写 E。我正在寻找一种方法来组合这两个替换,然后将其替换并打印如果它找到一个 e 或者只是打印“一切都很好!”如果没有“e”。
最佳答案
这实际上与Scanner
根本无关。简单的方法:
String replaced = userInput.replace("e","xyz").replace("E","xyz");
String out = replaced.equals(userInput) ? "All is good!" : replaced;
System.out.println(out);
或者使用replaceAll
:
Pattern eE = Pattern.compile("[eE]");
String replaced = eE.matcher(userInput).replaceAll("xyz");
关于java - 使用扫描仪查找信件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032161/
是How to Design Programs一书中的一段数据定义(注释),讲授Scheme-like语言和DrRacket IDE。 [Maybe #, Letter] 中的#, 是什么意思? ;
我是一名优秀的程序员,十分优秀!