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