[英]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.