Eclipse未运行Java代码

问题描述:

对于Java我真的很陌生,开始自己研究它....我下载了netbeans和Eclipse,并且这两个给了我相同的结果..他们不运行代码(卡住运行)既不让我调试它 - Eclipse调试器和Netbeans - 没有响应:?我不知道什么是错..和我没有线索,我不能调试..Eclipse未运行Java代码

这里是我的代码:我试着检查回文:

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 
+0

你可以请出示错误? – 2013-04-28 18:01:10

+0

你必须使用栈和队列吗?或什么是最简单的? – smttsp 2013-04-28 18:01:36

+0

我必须使用:s 我不能调试,不知道错误在哪里:s – geekybedouin 2013-04-28 18:09:20

你有一个无限循环这里i没有被增加:

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

也不要超过StringValue_1长度:

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

另外:使用变量名称的Java命名约定。

+0

没有注意到:s – geekybedouin 2013-04-28 18:09:57

+1

不用担心,通过设置断点学习在eclipse中使用调试器。这对于发现这些类型的问题很有用 – Reimeus 2013-04-28 18:19:17

您不能使用包名称的名称创建类。

运行程序 更改软件包名称。

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

要调试程序:运行>调试

这会给你的环境进行调试 更改视图:窗口>显示视图>调试