猿问

根据第一个字符搜索数组列表,然后打印出来

我不知道如何扫描数组列表,然后取出“Bravo”并将其打印为键盘上的字母“B”。


我尝试了太多代码


import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Scanner;

import java.util.Set;


public class map {



    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.println("Put in a word, the machine will then translate it to airport codes!");

        String name = in.next();

        List <String> list = new ArrayList<String>();  

        list.add("Alpha"); 

        list.add("Bravo"); 

        list.add("Charlie"); 

        list.add("Delta"); 

        list.add("Foxtrot"); 

        list.add("Echo"); 


        List <String> listClone = new ArrayList<String>(); 

        for (String string : list) {

            if(string.matches("(?i)(A).*")){

                listClone.add(string);

            }

            else if(string.matches("(B).*")){

                listClone.add(string);

            }

        }

     System.out.println(listClone);

}

}


Qyouu
浏览 171回答 3
3回答

忽然笑

您可以使用String.startsWith查找以字母开头的单词List <String> listClone = new ArrayList<String>();     for (String string : list) {        if(string.startsWith("B"){            listClone.add(string);        }    }从 java 8 开始你可以使用streamList<String> res = list.stream()                       .filter(str->str.startWiths("B"))                       .collect(Collectors.toList());

Cats萌萌

你需要一张地图Map<Character, String> map = new HashMap<>();map.put('a', "Alpha");...//get the user inputfor (char c: input.toCharArray()) {&nbsp; &nbsp; if (map.containsKey(c)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;println(map.get(c));&nbsp; &nbsp; }}

森林海

如果您只是寻找第一个字符,最好执行以下操作,因为这样可以避免不必要的开销。&nbsp; &nbsp; List <String> listClone = new ArrayList<String>();&nbsp;&nbsp; &nbsp; for (String string : list) {&nbsp; &nbsp; &nbsp; &nbsp; if(string.charAt(0) == 'B') {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; listClone.add(string);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }
随时随地看视频慕课网APP

相关分类

Java
我要回答