So zeigen Sie den Kalender in Java anJava

Java-Forum
Anonymous
 So zeigen Sie den Kalender in Java an

Post by Anonymous »

Ich mache gerade eine Hausaufgabe, bei der ich einen Kalender erstellen muss, der alle Monate eines Jahres anzeigt, einschließlich der darin enthaltenen Tage des Monats. Keine Datum-Uhrzeit-Bibliotheken zulässig.
Ich habe Probleme mit dem Abstand der ersten Zeile jedes Monats. Im Unterricht haben wir nur Schalteranweisungen, if, else, while, do-while und for-Schleifen gelernt.
Das wird derzeit für einen meiner Monate angezeigt:
Bild der Ausgabe
Das Bild zeigt nicht meine Eingaben, aber was ich geschrieben habe, war 2016 für das Jahr und 5 für den Wochentag, an dem das Jahr beginnt.
Bild der Ausgabe dessen, was gewünscht wird
Noch einmal ein Bild von dem, was gewünscht wird. Ich denke, mein Problem liegt möglicherweise an der Gleichung, die ich verwendet habe: int firstDayEachMonth = (daysMonth + firstDayYear)%7; Obwohl der Lehrer uns diese Gleichung zur Verwendung gegeben hat, scheint sie nicht zu funktionieren.
Wie Sie sehen können, sind die Leerzeichen in der ersten Zeile ganz links, sie sollte an den angegebenen Daten ausgerichtet sein, in diesem Fall für Januar sollte der 1. Januar am Freitag und der 2. Januar am Samstag ausgerichtet sein, aber derzeit ist es Sonntag und Montag.

Code: Select all

    import java.util.Scanner;

public class DisplayCalendar
{
public static void main(String[] args)
{
//Create a new scanner
Scanner input = new Scanner(System.in);

// Prompt user to enter year
System.out.print("Enter a year: ");
int year = input.nextInt();

// Prompt user to enter first day of the year
System.out.print("Enter the weekday that the year starts: ");
int firstDayYear = input.nextInt();

// A for loop that prints out each month
for(int month = 1; month  -1)
{
// Count all years that are divisible by 4 to be a leap year.
leapYear += 4;

// If the year inputted is a leap year, the days of the month will be 29.
if (year == leapYear)
{
daysMonth = 29;
break;
}

else
{
daysMonth = 28;
}
}
break;

case 3: monthDisplay = "March";
daysMonth = 31;
break;

case 4: monthDisplay = "April";
daysMonth = 30;
break;

case 5: monthDisplay = "May";
daysMonth = 31;
break;

case 6: monthDisplay = "June";
daysMonth = 30;
break;

case 7: monthDisplay = "July";
daysMonth = 31;
break;

case 8: monthDisplay = "August";
daysMonth = 31;
break;

case 9: monthDisplay = "September";
daysMonth = 30;
break;

case 10: monthDisplay = "October";
daysMonth = 31;
break;

case 11: monthDisplay = "November";
daysMonth = 30;
break;

case 12: monthDisplay = "December";
daysMonth = 31;
break;

// If the month is not recognized, dialog box will be displayed, and then exits program.
default : System.out.print("Invalid: Your month is not recognized.  ");
System.exit(0);

}
// Display the month and year
System.out.println("                      "+ monthDisplay + " " + year);

// Display the lines
System.out.println("_____________________________________");

// Display the days of the week
System.out.println("Sun     Mon     Tue     Wed     Thu     Fri     Sat");

// Print spaces depending on the day the month starts.
int firstDayEachMonth = (daysMonth + firstDayYear)%7;
for (int space = 1; space

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post