0

我被困在作业上,主要是因为我的教科书和课堂材料中极度缺乏示例甚至相关图表。

我按照我的方式构建程序的原因是因为我需要使用 4 个方法:一个执行所有其他方法的 main 方法、一个检索输入法、一个检查方法和一个显示方法。我喜欢听到有关最佳实践的信息,但我不得不像这样编写代码。

我的主要问题是我拥有的抽象类。我在一种方法中编写的任何变量都无法在另一种方法中解析,我不知道如何使变量成为全局变量。

其次,代码无法编译,我发现的示例没有经典的 main,我真的不知道如何使 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

}

}
4

1 回答 1

1
  1. 将变量移到方法之外并直接放入类范围
  2. 编写 main 方法是您在 java 中学习的第一件事。再看看你的教程
  3. 您可以使用布尔变量boolean displayCheck = false;并设置相同的

我的一个问题是:如果你的代码没有编译,是什么让你觉得逻辑是正确的?

于 2013-09-25T03:16:53.447 回答