Liczenie dużych liter w tekście z tablicy Stringów

0

Cześć

mam tablice Stringów

Spiewak[] Spiewaki = {"AANaaa","aaSqAAQaA","aaoqQa"};


	}
	public static void najglosniej(Spiewak[] tab){
		Pattern p = Pattern.compile("[A-Z]+");
	
		for ( int i=0;i<tab.length;i++){
	
       Matcher m = p.matcher(tab[1].spiewaj());
       boolean b = m.matches();
		

       while(m.find()){
           System.out.print(m.group());
	
	}
		}

Metode statyczna która przyjmie tą tablice i zliczy kto najgłośniej spiewa na podstawie ilości dużych liter w tekscie?
tu to jak myślałem żeby wyswietlić te "Słowa" z duzych liter może potem dac je do listy i sprawdzić który jest MAX (to już zwykły max=0;) ITP

Dzieki

2

Prosta funkcja, która zlicza ilość dużych liter (również polskich):

int countUpper(String s){
    int result = 0;
    for(char c:s.toCharArray()){
        result+=Character.isUpperCase(c)?1:0;
    }
    return result;
}
1
    String[] Spiewaki = {"AANaaa","aaSqAAQaA","aaoqQa"};
  	List<Long> result = Arrays.stream(Spiewaki)
      .map(piosenka -> piosenka.chars()
           .mapToObj(literka -> (char) literka)
           .filter(Character::isUpperCase)
           .collect(Collectors.counting())
      )
      .collect(Collectors.toList());
    System.out.println(result);

To ci policzy ile kolejne ciągi maja dużych literek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1