好的,我沒有最簡單的線索我在做什麼。我被困在一項任務上,很大程度上是因爲我的教科書和課程資料極其缺乏示例或相關圖表。Java迴文,方法和抽象類?
我已經瀏覽了堆棧溢出,谷歌和任何我可以讓我的手將這個怪物放在一起,所以請裸露在我身上,我這樣構造程序的原因是因爲我需要使用4方法:執行所有其他方法的主要方法,檢索輸入方法,檢查方法和顯示方法。我喜歡聽聽最佳做法,但我不得不像這樣編碼。
我的主要問題是我的抽象類。我是一個在Java的noob,我寫在一個方法中的任何變量將不會在另一箇中解析,我不知道如何使變量全局。
其次,代碼不能編譯,我找到的例子沒有經典的main,我真的不知道如何製作主要的實現方法,或使編譯器對抽象感到滿意。
也不知道如何把我的布爾結果,並用它來顯示在顯示方法的結果。是的,我寧願用檢查方法來做。
所有我知道的起訴是,我的「邏輯」到目前爲止的作品。我認爲。任何幫助指出我在正確的方向將非常感激。如果你是一種沒有抽象類的方法,我很樂意聽到它,但我認爲抽象是不必要的。
好,這裏是我的怪物至今:
import javax.swing.JOptionPane;
interface Palindrome {
void retrieveInput(String[] args);
boolean Check(String s);
void display();
}
abstract class Sub_Palindrome implements Palindrome {
public void retrieveInput(String[] args)
{
String Uinput;
int number1;
int digit1; // first digit
int digit2; // second digit
int digit3;
int digit4; // fourth digit
int digit5; // fifth digit
Uinput = JOptionPane.showInputDialog("Enter A 5 Digit Integer");
try { //Sanitize user input, make sure input entered is a number
number1 = Integer.parseInt(Uinput);
} catch (NumberFormatException String) {
JOptionPane.showMessageDialog(null, "Input invalid, please enter an integer",
"///-D-A-T-A---E-R-R-O-R-\\\\\\", JOptionPane.ERROR_MESSAGE);
return;
}
if (number1 < 10000 || number1 > 99999) { //Sanitize user input, make sure the given number is between 10000 and 99999
JOptionPane.showMessageDialog(null,
"The number entered must be between 10000 and 99999",
"///-D-A-T-A---E-R-R-O-R-\\\\\\", JOptionPane.ERROR_MESSAGE);
return;
}
}
public boolean Check(String s)
{
digit1 = number/10000;
digit2 = number/1000 % 10;
digit3 = number % 1000/100 % 10; // is the third digit even necessary?
digit4 = number % 10000 % 1000 % 100/10;
digit5 = number % 10000 % 1000 % 100 % 10;
if (digit1 == digit5 && digit2 == digit4)
return true;
else
return false;
}
public void display()
{
//display output text based upon result from IsPalinDrome
//after displaying result, start from the beginning and ask user to input data again
}
}
你的主要方法在哪裏? – gjman2
不要只是把代碼放入你的程序中,先寫下你想要做的事情,首先在紙上進行每一步,然後一次添加一行代碼,然後經常編譯,並且在修正所有錯誤之前不要添加新代碼。否則,你最終會得到一堆無用的錯誤,就像你在這裏展示的那樣。所以,重新開始。閱讀你的書(最重要的是幫助你)。不要猜測。 –
我使用的例子,來自堆棧溢出,沒有使用主要方法。我的教科書沒有經過Palindromes。當我輸入代碼時,我可以看到彈出的錯誤。我看到的唯一的錯誤是不好的變量,缺乏沒有主要方法的編譯。主要方法可以執行其他方法嗎? –