簡體   English   中英

控制台中有奇怪的無限循環,但在Applet中卻沒有-Java

[英]Weird infinite loop in the console but not in the Applet - Java

我是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));
            }

在控制台中,它會無限次重復10月28日。 在Applet中,它僅在GLabel的第一位置顯示“ 10月28日”(它不執行+ (100*date) )。 如果有人可以解釋正在發生的事情並提出解決方法,我將不勝感激!

你放分號; if語句的末尾。

if (date == 32)  // Remove ;
{

由於if末尾是分號,因此不會在if塊上輸入,因此您的date不會重新初始化為1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM