控制台中的奇怪的无限循环,但不是在Applet - Java中

use*_*145 0 java if-statement infinite-loop switch-statement

我是Java的新手.我正在编写一个陷入无限循环的程序,它在控制台中显示但不在Applet中.这是一个日历,需要在10月31日到11月1日之间更改月份和日期,并在一个位置显示.我很确定if语句是错的,但我在书中找不到任何帮助:(这是代码:

            int date = 28;
            String currentMonth = "October";
            String nextMonth = "November";
            String dateNumber = "28th October";

            for (date = 28; date <= 32; date++)
            {
                if (date == 32);
                {
                    currentMonth = nextMonth;
                    date = 1; 
                }


                switch (date)
                {
                case 28: dateNumber = "28th October"; break;
                case 29: dateNumber = "29th October"; break;
                case 30: dateNumber = "30th October"; break;
                case 31: dateNumber = "31st October"; break;
                case 32: dateNumber = "1st November"; break;
                default: println (dateNumber); break;
                }

                GLabel label = new GLabel(dateNumber);
                label.setFont ("Ariel-13");
                label.setColor(Color.BLUE);
                add (label, 50, 001 + (100*date));
            }
Run Code Online (Sandbox Code Playgroud)

在控制台中,它无限重复10月28日.在Applet中它显示"10月28日"在GLabel唯一的第一个位置(它不执行+ (100*date)).如果有人能够解释发生了什么并建议一种方法来解决它,我将非常感激!

Mas*_*dul 5

;if语句结尾处加了分号.

if (date == 32)  // Remove ;
{
Run Code Online (Sandbox Code Playgroud)

由于分号结束if,不会进入if阻止,所以你date不会重新发起1.