Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java回文、方法和抽象类?_Java_Methods_Integer_Abstract Class_Palindrome - Fatal编程技术网

Java回文、方法和抽象类?

Java回文、方法和抽象类?,java,methods,integer,abstract-class,palindrome,Java,Methods,Integer,Abstract Class,Palindrome,我被一项作业困住了,主要是因为我的课本和课堂材料中极度缺乏例子,甚至没有相关的图表 我这样构造程序的原因是因为我需要使用4种方法:执行所有其他方法的main方法、retrieve输入方法、check方法和display方法。我喜欢听到关于最佳实践的消息,但我不得不这样编写代码 我的主要问题是我拥有的抽象类。我在一个方法中编写的任何变量都无法在另一个方法中解析,我不知道如何使这些变量成为全局变量 其次,代码没有编译,我发现的示例没有一个经典的main,我真的不知道如何使main实现方法,或者使编译

我被一项作业困住了,主要是因为我的课本和课堂材料中极度缺乏例子,甚至没有相关的图表

我这样构造程序的原因是因为我需要使用4种方法:执行所有其他方法的main方法、retrieve输入方法、check方法和display方法。我喜欢听到关于最佳实践的消息,但我不得不这样编写代码

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

其次,代码没有编译,我发现的示例没有一个经典的main,我真的不知道如何使main实现方法,或者使编译器对抽象感到满意

也没有关于如何获取布尔结果并使用它在display方法中显示结果的线索。是的,这太愚蠢了,我宁愿用检查法

对苏来说,我只知道我的“逻辑”到目前为止是有效的。我想。如果能帮我指出正确的方向,我将不胜感激。如果你是一种不用抽象类就能做到这一点的方法,我很想听听,我认为抽象是不必要的

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

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

}

}
import javax.swing.JOptionPane;
界面回文{
无效检索输入(字符串[]args);
布尔检查(字符串s);
void display();
}
抽象类Sub_Palindrome实现了Palindrome{
公共void retrieveInput(字符串[]args)
{
字符串输入;
整数1;
int digit1;//第一个数字
int digit2;//第二位
int-digit3;
int digit4;//第四位
int digit5;//第五位
Uinput=JOptionPane.showInputDialog(“输入一个5位整数”);
请尝试{//清理用户输入,确保输入的输入是数字
number1=整数.parseInt(Uinput);
}catch(NumberFormatException字符串){
JOptionPane.showMessageDialog(null,“输入无效,请输入整数”,
“//-D-A-T-A--E-R-R-O-R-\”,作业窗格。错误消息);
返回;
}
如果(number1<10000 | | number1>99999){//清理用户输入,请确保给定的数字介于10000和99999之间
JOptionPane.showMessageDialog(null,
“输入的数字必须介于10000和99999之间”,
“//-D-A-T-A--E-R-R-O-R-\”,作业窗格。错误消息);
返回;
}
}
公共布尔检查(字符串s)
{ 
数字1=数字/10000;
数字2=数字/1000%10;
digit3=数字%1000/100%10;//第三个数字是必需的吗?
数字4=数字%10000%1000%100/10;
数字5=数字%10000%1000%100%10;
if(digit1==digit5&&digit2==digit4)
返回true;
其他的
返回false;
}   
公共空间显示()
{
//根据IsPalinDrome的结果显示输出文本
//显示结果后,从头开始,要求用户再次输入数据
}
}
  • 将变量移到方法之外,并直接放入类范围
  • 编写main方法是在java中学习的第一件事。再看看你的教程
  • 您可以使用布尔变量
    boolean displayCheck=false并设置相同的值

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

    你的主要方法在哪里?不要随意地把代码扔进你的程序。把你们要做的事情写出来,每一步都写在纸上,然后一行一行地添加代码,然后经常编译,直到所有错误都被修复,再添加新代码。否则,你最终会得到一堆无用的错误,就像你在这里向我们展示的那样。所以,重新开始。读你的书(最能帮助你的东西)。我使用的例子来自堆栈溢出,没有使用main方法。我的课本没有回文。我可以看到错误弹出,因为我输入代码。我看到的唯一错误是错误的变量,以及缺少没有main方法的编译。主要方法是否可以执行其他方法?您的问题源于盲目地借用代码,而尚未理解核心概念,即您声明
    “我一点也不知道我在做什么。”
    。所以不要借用代码,也不要要求我们帮助修复借用的代码,因为这样做是疯狂的。相反,阅读你的书,如果有必要,重新阅读,然后从你自己的代码开始。学习基本概念并重新开始。逻辑指的是数学和检查用户输入。类别范围指的是我的界面吗?我已经试过了,没有骰子。我在这里尝试,真的遇到了麻烦。谢谢,这解决了我的变量问题。就像我之前说的,只寻找正确方向的指针。我不是要求任何人制造代码。