Eclipse不运行Java代码

Eclipse不运行Java代码,java,eclipse,netbeans,palindrome,Java,Eclipse,Netbeans,Palindrome,我对Java真的很陌生,开始自己学习。。。。我下载了netbeans和Eclipse,它们给了我相同的结果。。他们不运行代码(卡在运行中),也不让我调试它-Eclipse调试器和Netbeans-没有响应:?我不知道怎么了。。我没有线索,因为我无法调试 这是我的代码:我正在检查回文: package ClassQueue; class Stack { private Object[] Stack_Array = null; public int top = 0; p

我对Java真的很陌生,开始自己学习。。。。我下载了netbeans和Eclipse,它们给了我相同的结果。。他们不运行代码(卡在运行中),也不让我调试它-Eclipse调试器和Netbeans-没有响应:?我不知道怎么了。。我没有线索,因为我无法调试

这是我的代码:我正在检查回文:

package ClassQueue;

class Stack {

    private Object[] Stack_Array = null;
    public int top = 0;

    public Stack(int size) {
        top = 0;
        Stack_Array = new Object[size];
    }

    public Stack() {
        this(100);
    }

    protected void finalizer() {
        Stack_Array = null;
    }

    final public boolean empty() {
        return top == 0;
    }

    final public boolean full() {
        return top == Stack_Array.length;
    }

    public void push(Object token) {
        if (!full()) {
            Stack_Array[top] = token;
            top++;
        }
    }

    public Object pop() {
        Object Value_return = -999;
        if (!empty()) {
            Value_return = Stack_Array[top];
            top--;
        }
        return Value_return;
    }
}//end of Class_Stack

class Queue {

    private Object[] Queue_Array = null;
    private int Front = 0;
    private int Rear = 0;

    public Queue(int size) {
        Front = Rear = 0;
        Queue_Array = new Object[size];
    }

    public Queue() {
        this(100);
    }

    protected void finalizer() {
        Front = Rear = 0;
        Queue_Array = null;
    }

    final public boolean empty() {
        return Front == Rear;
    }

    final public boolean full() {
        return Rear == Queue_Array.length;
    }

    public void queueAdd(Object token) {
        if (!full()) {
            Queue_Array[Rear] = token;
            Rear++;
        }
    }

    public Object queueDelete() {
        Object Value_return = -999;
        if (!empty()) {
            Value_return = Queue_Array[Front];
            Front++;
            return Value_return;
        }
        return Value_return;
    }
}//end of Class_Queue

public class ClassQueue {

    public static void main(String[] args) {

        int i = 0;
        String Value_1 = "ABBA";


        Stack Value_1_Stack = new Stack(Value_1.length());
        Queue Value_1_Queue = new Queue(Value_1.length());


        while (i < Value_1.length()) {
            Value_1_Stack.push(Value_1.charAt(i));
            Value_1_Queue.queueAdd(Value_1.charAt(i));
        }

        i = 0;

        while (Value_1_Stack.pop() == Value_1_Queue.queueDelete()) {
            i++;
        }

        if (i == Value_1.length()) {
            System.out.println("Palindrome");
        } else {
            System.out.println("NOT");
        }


    }//end of main
}//end of ClassQueue
包类队列;
类堆栈{
私有对象[]堆栈_数组=null;
公共int top=0;
公共堆栈(整数大小){
top=0;
堆栈_数组=新对象[大小];
}
公共堆栈(){
这(100);
}
受保护的无效终结器(){
堆栈_数组=null;
}
最终公共布尔空(){
返回顶部==0;
}
最终公共布尔值full(){
返回top==Stack_Array.length;
}
公共无效推送(对象令牌){
如果(!full()){
堆栈_数组[top]=令牌;
top++;
}
}
公共对象pop(){
对象值返回=-999;
如果(!empty()){
Value_return=堆栈_数组[top];
顶部--;
}
返回值\返回值;
}
}//类_堆栈的结束
类队列{
私有对象[]队列_数组=null;
专用int前端=0;
私家车后部=0;
公共队列(整数大小){
前=后=0;
队列_数组=新对象[大小];
}
公共队列(){
这(100);
}
受保护的无效终结器(){
前=后=0;
队列_数组=null;
}
最终公共布尔空(){
返回前部==后部;
}
最终公共布尔值full(){
return Rear==Queue_Array.length;
}
public void queueAdd(对象令牌){
如果(!full()){
队列_数组[后部]=令牌;
后++;
}
}
公共对象队列删除(){
对象值返回=-999;
如果(!empty()){
值\返回=队列\数组[前端];
前端++;
返回值\返回值;
}
返回值\返回值;
}
}//类队列结束
公共类类队列{
公共静态void main(字符串[]args){
int i=0;
字符串值_1=“ABBA”;
堆栈值_1_Stack=新堆栈(值_1.length());
队列值_1_Queue=新队列(值_1.length());
而(i
这里有一个无限循环,因为
i
从不递增:

while (i < Value_1.length()) {
   Value_1_Stack.push(Value_1.charAt(i));
   Value_1_Queue.queueAdd(Value_1.charAt(i));
}

旁白:对变量名使用Java命名约定。

不能使用包名创建类

运行您的程序 更改包名

对于ClassQueue,在同一个包中创建另一个ClassQueue.java文件

调试程序:运行>调试

这将为您提供调试环境
更改视图:窗口>显示视图>调试

能否显示错误?是否必须使用堆栈和队列?或者任何最简单的方法?我必须使用:s我无法调试,不知道错误在哪里:s@umar:您声明“无法调试”。但是为什么呢?你有禁止调试的宗教规定吗?通过使用println语句或使用许多可用的免费调试器中的一个,您可以轻松地解决问题,但是您声明由于某种原因您不允许这样做?我从没听说过这样的事。@Umar:我不知道你信奉什么宗教,我真的不在乎。我容忍并尊重所有宗教,但出于同样的原因,我同样不能容忍诸如“我不能调试”之类的说法。如果您在调试时遇到困难,您可以展示您的努力并解释您的困难,而不是发表毫无意义的声明,只是暗示您没有尽全力(或者至少没有演示您的努力)。不用担心,通过设置断点来学习在eclipse中使用调试器。这对于发现这些类型的问题很有用
while (i < Value_1.length() - 1) {
   Value_1_Stack.push(Value_1.charAt(i));
   Value_1_Queue.queueAdd(Value_1.charAt(i));
   i++;
}