如果您在数组中有一个名称列表
char letter = in.next().toLowerCase().charAt(0);
for (int i=0; i<Names.length; i++) {
if(Names[i].toLowerCase().charAt(0)==letter){
System.out.println(babyNames[i].toLowerCase().charAt(0)==letter);
编辑:我不希望它返回布尔值,而是名称。
答案 0 :(得分:1)
正则表达式可以帮助您定义结构,以便它可以确定字符串是否具有该结构:
if(Pattern.matches("^[Bb].*",str)){
System.out.println("the str value stated with b");
}
此处^
表示要匹配的字符串的开头,而[Bb
表示此字符串之后必须与大写或小写字母B
匹配。 .*
表示任何字符(点)为零,一次或多次。
答案 1 :(得分:1)
您应该首先通过for循环在数组上进行迭代,并检查每个名称的第一个索引处的字符,如果它是'B',则程序应打印该名称,否则它将继续并继续使用下一个名称:
public static void main(String[] args) {
String[] names = {
"Abby", "Ben", "Bill", "Brian", "Craig", "Cassandra",
"Collin", "David", "Donny", "Mitchell"
};
for (int i =0; i< names.length; i++)
{
if (names[i].charAt(0) == 'B')
{
System.out.println(names[i]);
}
}
}
或者您可以类似地使用startsWith()
这是Java字符串方法:
if (names[i].startsWith("B"))
{
System.out.println(names[i]);
}
输出:
Ben
Bill
Brian
答案 2 :(得分:0)
何时使用Stream API(需要Java 8和更高版本):
Arrays.stream(names).filter(e -> e.toLowerCase().startsWith("b")).forEach(System.out::println);
否则,您可以简单地使用带if语句的for循环:
for (int i = 0; i < names.length; i++) {
if (names[i].toLowerCase().startsWith("b"))
System.out.println(names[i]);
}
答案 3 :(得分:0)
使用Java 8流和startsWith。
EMPID DEPARTMENT RECORD_DATE
123456 Technology 2019-01-01
123456 Technology 2019-02-25
123456 Finance 2019-03-01
123456 Finance 2019-09-28
123456 HR 2020-03-01
987654 HR 2019-04-01
987654 Finance 2019-09-01
987654 HR 2020-01-31
答案 4 :(得分:0)
您可以执行以下操作,创建如下所示的函数
private static List<String> getList(String[] names, String pattern) {
List<String> temp = new ArrayList<>();
for(int i=0;i<names.length;i++) {
if(names[i].toLowerCase().startsWith(pattern.toLowerCase()))
temp.add(names[i]);
}
return temp;
}
如果使用Java-8,则可以使用流式API
private static List<String> getList(String[] names, String pattern) {
return Arrays.stream(names).filter(name -> name.toLowerCase().startsWith(pattern.toLowerCase())).collect(Collectors.toList());
}
然后,您可以指定要使用
过滤列表的任何字母String pattern = "b";
然后调用函数
System.out.println(getList(names,pattern));
输出
[Ben, Bill, Brian]
注意:您还可以修改getList函数以与java.util.regex.Pattern