簡體   English   中英

Java NetBeans中的以下回文測試對“ if語句”給出了錯誤的答案。 請告訴錯誤

[英]The following palindrome test in java netbeans is giving a wrong answer for the “if statement”. Please tell the mistake

以下Java應用程序是通過JFrame表單創建的。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {  
 Integer number = Integer.parseInt(t.getText());

// t是在其中輸入文本的文本框

while(number > 0)

{

Integer q = number%10;
Integer number1= (number-q);
number = number1/10;
ans.append("" + q);

// ans是顯示反向數字的文本區域

}

number = Integer.parseInt(t.getText()); 
Integer answer  = Integer.parseInt(ans.getText());
Double a = (double) answer;

if(number == answer)
{

System.out.println("it is a palindrome");
}
else{System.out.println("not a palindrome");}
}

Integer是Object的子類,包裝原始int類型。 最后,您要比較兩個Integer對象是否相同,而不是整數值是否相等。

該代碼通常寫為:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {  
    int number = Integer.parseInt(t.getText());

    // t is the text box in which text is entered
    while (number > 0) {
        int q = number % 10;
        number = number1 / 10;
        ans.append("" + q);

        //ans is text area in which reversed number is shown
    }

    number = Integer.parseInt(t.getText()); 
    int answer  = Integer.parseInt(ans.getText());
    if (number == answer) {
        System.out.println("it is a palindrome");
    } else {
        System.out.println("not a palindrome");
    }
}

注意: /整數除法 ,它會自動舍棄余數。

Type     Class
----     -----
int      Integer
double   Double
boolean  Boolean
long     Long
byte     Byte
short    Short
char     Character
float    Float

暫無
暫無

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

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