Wyświetlanie daty słownie

0

Piszę program o następującej treści:
//Napisać program, który pobierze datę w formacie DD-MM-RRRR, z której pobierze miesiąc i wyświetli jego nazwę słownie.

w sposób:


```        Calendar calendar = Calendar.getInstance();
 
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");

i dalej problem....Substringiem myśle wyciągnąc miesiąc  z tej daty , zmienna pomocnicza int miesiac...jakos zrownac jej wartosc  zwartoscia "MM' z daty i switch wyswietlajacy cos w stylu case 1. jak MM == 01 to styczen
nie bardzo wiem czy mozna inaczej do tego pdoejsc, prosciej? jest jakas funkcja wyswietlajaca slownie meisiace?
0

Wiadomka, że się szukać nie chce wiec poszukałem za Ciebie. Proszę:

Month.of(month).getDisplayName(TextStyle.FULL_STANDALONE, Locale.forLanguageTag("pl-PL"))
0
LocalDate localDate = LocalDate.now();
System.out.println(localDate.getMonth().getDisplayName(TextStyle.FULL, Locale.ENGLISH));
0

dziękuję bardzo, zrozumiałam i opanowałam już podstawy klasy LocalDate.
Mam jeszcze jedno pytanie bo teraz uczę się String klasy z Javy (pisałam wczesniej w C#, a teraz chce przejść na Jave i uczę się Javy)
Czy w Javie jest coś analogicznego do pętli foreach z c# - jak się wyświetla Stringi ?
w c# tak.
string tekst = "Ala ma kota"; foreach (char litera in tekst)
w javie wiem, ze jest pętla for each ale ona chyba tylko do wyświetlania tablic/ kolekcji sluzy, Stringow nia nie wyswietlimy?

jak to zrobić najlepiej w javie.?

1

W klasie String masz metodę "toCharArray()" która zwraca Ci tablicę charów:

for ( char x : twojString.toCharArray()){

}
0

Chcesz iterować po każdej literze w stringu tylko po to żeby ją wyświetlić? Wiesz, że możesz od razu wyświetlić cały string?

0

jak rozumiem, nie ma w Javie czegoś takiego, jak metoda Insert() klasy String.
Da się w jakiś sposób wstawić fragment tekstu do istniejącego łańcucha string?

0

Mam jeszcze problem z tym
//Napisz program analizujący częstość występowania poszczególnych znaków w łańcuchu znaków wprowadzonym przez użytkownika.
//Np. dla wprowadzonego tekstu „abrakadabra” program powinien wyświetlić informacje: a – 5, b – 2, r – 2, k – 1, d – 1.

public static void main(String[] args) {
          // TODO code application logic here
         String tekst = "abrakadabra";
         int liczbaWystapien = 0;
         char litera;
         char znakZnapisu = ' ';
         
         for(int i = 0; i < tekst.length(); i++){
             litera = tekst.charAt(i);
             if( litera == znakZnapisu ){
                 liczbaWystapien ++;
             }
         }
         System.out.println(liczbaWystapien);

a konkretnie jak napisać by wyswietlalo ze np liter a jest tyle licznik itd...by wyszczegolnialo konretna litere i ilosc wystapien
Prosze o wskazanie bledow i pojaśnienie sposobu naprawy

0

Pomoże ktoś zrozumieć temat?

1

ad 1. Da się, jest dużo przykładów w internecie.
ad 2. Proszę, poćwiczyłem streamy przy okazji.

        String test = "abrakadabra";
        Map<Character, Long> map = test
                .chars()
                .boxed()
                .collect(Collectors.groupingBy(( x -> (char) x.intValue()), Collectors.counting()));
        System.out.println(map);

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