Skocz do zawartości

Błąd w Java. Prosty program


Tiamti

Recommended Posts

Poniżej jest kod mojego programu który powinien wybisać wszystkie dni aktualnego miesiąca i aktualny dzień oznaczyc gwiazdką lecz pojawiły mi się następujące problemy i nie wiem jak je rozwiązać ;/

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
                The method getShortWeekDays() is undefined for the type DateFormatSymbols
                weekDayNames cannot be resolved to a variable

import java.text.DateFormatSymbols;
import java.util.*;

public class EmloyeeTest
{
    public static void main(String[] args)
    {
        GregorianCalendar d = new GregorianCalendar();
        int today = d.get(Calendar.DAY_OF_MONTH);
        int month = d.get(Calendar.MONTH);

        d.set(Calendar.DAY_OF_MONTH, 1);

        int weekday = d.get(Calendar.DAY_OF_WEEK);

        int firstDayOfWeek = d.getFirstDayOfWeek();

        int indent = 0;
        while(weekday != firstDayOfWeek)
        {
            indent++;
            d.add(Calendar.DAY_OF_MONTH, -1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }

        String[] weekdayNames = new DateFormatSymbols().getShortWeekDays();
        do
        {
            System.out.printf("%4s", weekDayNames[weekday]);
            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }
        while(weekday != firstDayOfWeek);
        System.out.println();

        for(int i = 1; i <= indent; i++ )
            System.out.print("    ");

        d.set(Calendar.DAY_OF_MONTH, 1);
        do
        {
            int day = d.get(Calendar.DAY_OF_MONTH);
            System.out.printf("%3d", day);

            if(day == today ) System.out.print("*");
            else System.out.print("  ");

            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);

            if(weekday == firstDayOfWeek) System.out.println();

        }
        while(d.get(Calendar.MONTH) == month);

        if(weekday != firstDayOfWeek) System.out.println();

    }

}

 

Link do komentarza
Udostępnij na innych stronach

1. Jeśli program ma wypisywać wszystkie dni aktualnego miesiąca to działa dobrze, tylko wpisz poprawnie nazwę metody i talbicy..

String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();

		do {
			System.out.printf("%4s", weekdayNames[weekday]);

2. Korzystaj z systemu popowiedzi (zazwyczaj ctrl + space) to wtedy nie będzie takich błędów

  • Upvote 2
Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...