Java Palindrome,方法和抽象类?

时间:2013-09-25 03:11:01

标签: java methods integer abstract-class palindrome

好吧,我没有最简单的线索,我正在做什么。我被困在一项任务上,很大程度上是由于我的教科书和课堂材料中缺乏示例甚至相关的图表。

我已经拖网堆栈溢出,谷歌,以及任何我可以把我的手扔到一起的任何东西,所以请与我裸露,我之所以如此构建程序的原因是因为我需要使用4种方法:执行所有其他方法的主方法,检索输入方法,检查方法和显示方法。我喜欢听到最佳实践,但我不得不这样编码。

我的主要问题是我的抽象类。我是java的菜鸟,我在一个方法中写的任何变量都不会在另一个方法中解析,我不知道如何使变量全局化。

其次,代码没有编译,我发现的例子没有经典的main,我真的不知道如何制作主要的实现方法,或者让编译器对抽象感到满意。

也不知道如何获取我的布尔结果并使用它来显示显示方法中的结果。是的,它的asinine,我宁愿在检查方法中这样做。

所有我知道的是,到目前为止我的“逻辑”是有效的。我认为。任何帮助指出我正确的方向将非常感激。如果你是一种没有抽象类的方式来做这件事,我很乐意听到,我认为抽象是不必要的。

到目前为止,这是我的怪物:

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

}

}

1 个答案:

答案 0 :(得分:1)

  1. 将变量移到方法之外并直接放在类范围
  2. 编写main方法是您在java中学到的第一件事。再次查看您的教程
  3. 您可以使用布尔变量boolean displayCheck = false;并设置相同的
  4. 我的一个问题是:如果你的代码没有编译,那么你觉得逻辑是否正确?