Skocz do zawartości

Błąd w Java. Prosty program


Recommended Posts

Napisano

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();

    }

}

 

Napisano

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

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...