Java 试图找出如何打印某个字符串(如果该字符串包含某个第一个字符)
正在尝试了解如何将多个搜索添加到name.startsWith。 这样我就可以找到添加了搜索a、e、i、o和u的元素。而不仅仅是“a” 创建一个名为printFizzBuzz()的方法。此方法应在集合中循环,并打印出元素(一行中的每个字符串)。如果字符串以a、e、i、o或u开头,而不是打印字符串,则应在该行中打印“Fizz”。如果字符串以a、e、i、o或u开头,而不是打印字符串,则应打印例如,如果集合中包含名称“香蕉”、“苹果”、“橙子”、“梨”、“桃”、“猕猴桃”、“葡萄”,则打印输出看起来像:嘶嘶嘶嘶嘶嘶嘶嘶嘶嘶嘶嘶梨桃猕猴桃水果”Java 试图找出如何打印某个字符串(如果该字符串包含某个第一个字符),java,Java,正在尝试了解如何将多个搜索添加到name.startsWith。 这样我就可以找到添加了搜索a、e、i、o和u的元素。而不仅仅是“a” 创建一个名为printFizzBuzz()的方法。此方法应在集合中循环,并打印出元素(一行中的每个字符串)。如果字符串以a、e、i、o或u开头,而不是打印字符串,则应在该行中打印“Fizz”。如果字符串以a、e、i、o或u开头,而不是打印字符串,则应打印例如,如果集合中包含名称“香蕉”、“苹果”、“橙子”、“梨”、“桃”、“猕猴桃”、“葡萄”,则打印输出看起来像
公共班级学名
{
私有数组列表名称;
/**
*创建名称的集合。
*/
公立学校名称()
{
名称=新的ArrayList();
}
/**
*向集合中添加名称。
*/
public void addName(字符串名称)
{
名称。添加(名称);
}
/**
*从集合中删除名称。
*/
公共void removeName(int索引)
{
如果(索引>=0&&index
您应该为此添加一个else
语句。如果If
和else If
中的所有条件失败,则仅执行else
部分,否则不执行
if (name.contains("a")) {
System.out.println("Fizz");
} else if (name.contains("A")) {
System.out.println("Buzz");
} else {
System.out.println(name);
}
更新:
如果要求检查字符串的起始元素,则应使用name.startsWith(“a”)
更新:
问题:
对真是太棒了!我最不需要弄清楚的是,如何在name.startsWith中添加多个字符。我试着加上“a”,“e”。但它不起作用 不。它不应该以接受单个字符串参数开始。您可以使用
或
操作符检查这一点
if (name.startsWith("a") || name.startsWith("e")//....rest of check)
如另一个答案所述,确实缺少
else
语句
您可能还希望避免每个字母(a、e、i…)都有if
语句,因此您可以执行以下操作:
for (String name : names)
{
char firstChar = name.charAt(0);
if ("aeiou".indexOf(firstChar)>-1)
{
System.out.println("Fizz");
}
else if ("AEIOU".indexOf(firstChar)>-1)
{
System.out.println("Buzz");
}
else
{
System.out.println(name);
}
}
您可以尝试下面的代码片段
String str ="Anglo"; //sample input
String vowelinCaps = "AEIOU";
String vowelinSmall = "aeiou";
if (vowelinCaps.indexOf(str.charAt(0)) >= 0)
System.out.println("Fizz");
else if (vowelinSmall.indexOf(str.charAt(0)) >= 0)
System.out.println("Buzz");
else
System.out.println(str);
更新-
- char java.lang.String.charAt(int index)返回指定索引处的char值
- indexOf(int ch)返回字符序列中第一次出现的字符的索引 此对象,如果角色未出现,则为-1
- 你是想这样做吗
public class StringTest {
public static void main(String args[]){
String testString = "aatest";
if (testString.matches("(aa|bb|cc|dd|dd).*")){
System.out.println("true");
}
if(testString.startsWith("aa") || testString.startsWith("bb")){ // other conditions as well
System.out.println("true");
}
}
}
您可以使用以下正则表达式代码根据您的模式替换word
public void findAndReplace(List<String> items) {
StringBuffer stringBuffer = new StringBuffer();
for(String eachItem : items) {
if(isMatchFound(eachItem,"^[AEIOU]")) {
stringBuffer.append("Buzz");
stringBuffer.append(" ");
}else if(isMatchFound(eachItem,"^[aeiou]")) {
stringBuffer.append("Fizz");
stringBuffer.append(" ");
}else {
stringBuffer.append(eachItem);
stringBuffer.append(" ");
}
}
System.out.println(stringBuffer);
}
public Boolean isMatchFound(String item,String pattern) {
return item.matches(pattern);
}
public void findandplace(列表项){
StringBuffer StringBuffer=新的StringBuffer();
对于(字符串eachItem:items){
如果(isMatchFound(每个项目,“^[AEIOU]”){
stringBuffer.append(“Buzz”);
stringBuffer.append(“”);
}else if(isMatchFound(每个项目,“^[aeiou]”){
stringBuffer.append(“Fizz”);
stringBuffer.append(“”);
}否则{
stringBuffer.append(eachItem);
stringBuffer.append(“”);
}
}
System.out.println(stringBuffer);
}
公共布尔值isMatchFound(字符串项、字符串模式){
返回项目。匹配(模式);
}
正则表达式:^[AEIOU]检查字符串在[AEIOU]数据集中的第一个(^)字符。您也可以尝试
`String lowercase = "aeiou";
String upercase = "AEIOU";
String text = "apple";
if(lowercase.contains(text.charAt(0))){
System.out.println("fuzz");
}else if(upercase.contains(text.charAt(0)))){
System.out.println("buzz");
}else{
System.out.println(text)
}`
您可能必须使用
String.valueOf(text.charAt(0))
,才能将其作为字符串使用噢,哇,您刚刚打开了我的眼睛哈哈哈!谢谢你我也刚刚意识到name.startsWith的存在,所以我现在也要试试。是的!真是太棒了!我最不需要弄清楚的是,如何在name.startsWith中添加多个字符。我试着加上“a”,“e”。但它不起作用是的,这就是我想弄明白的。我不知道如何搜索多个字母,只有一个。不幸的是,没有工作:/Just printed Apple and appleSorry有一个错误,indexOf
应该检查索引>-1,而不是>0。刚刚编辑了答案。(cf.)这将检查字符串是否以aa开头,而不仅仅是a,对于apple关键字,它将失败
`String lowercase = "aeiou";
String upercase = "AEIOU";
String text = "apple";
if(lowercase.contains(text.charAt(0))){
System.out.println("fuzz");
}else if(upercase.contains(text.charAt(0)))){
System.out.println("buzz");
}else{
System.out.println(text)
}`