RT 
症状:运行一个类CTRL+F11 出来的结果是另外一个类的。。为什么 
例子:我的包 test 下 有Example2.java kk.javaExample2.java 如下
package test;
import java.util.*;
public class Example2 
{
public static void main()
{
Stack mystack=new Stack();
mystack.push(1);
mystack.push(new Integer(1));
int k=1;
while(k<=10)
for (int i=0;i<=2;i++)
{
Integer F1=(Integer) mystack.pop();
int f1=F1;
Integer F2=(Integer) mystack.pop();
int f2=F2.intValue();
Integer temp=f1+f2;
System.out.println(" "+temp.toString());
mystack.push(temp);
mystack.push(F2);
k++;

}
}}
kk.java 如下
package test;public class kk {
public static void main( String args[])
{
System.out.print("kk");
}
}然后我在Example2.java 里运行 结果出来的是kk.java 里的结果 kk 
狂晕 郁闷啊 
谁帮我解决。。这个问题我研究了下
package test;
 public class People 
{
 float hight,weight;
 String head,ear,mouth;
 void speak(String s)
 {
 System.out.println(s);
 }
 
}
 
class A
{
 public static void main (String args[])
 {
 People zhubajie ;
 zhubajie=new People();
 zhubajie.weight=200f;
 zhubajie.hight=1.70f;
 zhubajie.head="大头";
 zhubajie.ear="两只大耳朵";
 zhubajie.mouth="一只大嘴";
 System.out.println("重量"+zhubajie.weight+"身高"+zhubajie.hight);
 System.out.println(zhubajie.head+zhubajie.ear+zhubajie.mouth);
 zhubajie.speak("shifu@");
 }
}
以前运行这个的时候也是这个问题 
我取的名字是 People.java 结果出现错误
我改成
package test;
 class People 
{
 float hight,weight;
 String head,ear,mouth;
 void speak(String s)
 {
 System.out.println(s);
 }
 
}
 
public class A
{
 public static void main (String args[])
 {
 People zhubajie ;
 zhubajie=new People();
 zhubajie.weight=200f;
 zhubajie.hight=1.70f;
 zhubajie.head="大头";
 zhubajie.ear="两只大耳朵";
 zhubajie.mouth="一只大嘴";
 System.out.println("重量"+zhubajie.weight+"身高"+zhubajie.hight);
 System.out.println(zhubajie.head+zhubajie.ear+zhubajie.mouth);
 zhubajie.speak("shifu@");
 }
}
就对了。。
Elipse是不是按执行的时候 包含了变异 
建类的时候名字必须和包含Mian函数的类名取一样么?

解决方案 »

  1.   

    第二个问题研究修改下
    这个问题我研究了下 Java codepackage test;
     public class People 
    {
     float hight,weight;
     String head,ear,mouth;
     void speak(String s)
     {
         System.out.println(s);
     }
     
    }
     
    class A
    {
     public static void main (String args[])    
     {
         People zhubajie ;
         zhubajie=new People();
         zhubajie.weight=200f;
         zhubajie.hight=1.70f;
         zhubajie.head="大头";
         zhubajie.ear="两只大耳朵";
         zhubajie.mouth="一只大嘴";
         System.out.println("重量"+zhubajie.weight+"身高"+zhubajie.hight);
         System.out.println(zhubajie.head+zhubajie.ear+zhubajie.mouth);
         zhubajie.speak("shifu@");
         }
    }
    以前运行这个的时候也是这个问题 
    我取的名字是 People.java 结果出现错误 
    于是我新建一个类 名字叫A.JAVA
    Java codepackage test;
     class People 
    {
     float hight,weight;
     String head,ear,mouth;
     void speak(String s)
     {
         System.out.println(s);
     }
     
    }
     
    public class A
    {
     public static void main (String args[])    
     {
         People zhubajie ;
         zhubajie=new People();
         zhubajie.weight=200f;
         zhubajie.hight=1.70f;
         zhubajie.head="大头";
         zhubajie.ear="两只大耳朵";
         zhubajie.mouth="一只大嘴";
         System.out.println("重量"+zhubajie.weight+"身高"+zhubajie.hight);
         System.out.println(zhubajie.head+zhubajie.ear+zhubajie.mouth);
         zhubajie.speak("shifu@");
         }
    }就对了。。 
    Elipse是不是按执行的时候 包含了变异 
    建类的时候名字必须和包含Mian函数的类名取一样么? 
      

  2.   

    你仔细看一下Example2  这个类  里面的main方法 是我们程序入口点的main 方法吗?  你的参数呢 ?还有你按 Ctrl+F11它执行的是 你那个运行快捷中的第一个 带有main 方法的类?
      

  3.   

    因为你之前执行了kk.java,RUN的状态还保持在上一个状态。
    在 run - run configurations里面改下就可以了
      

  4.   

    第二个问题 是咋么回事呢 我不理解。。
    Java codepackage test;
     public class People 
    {
     float hight,weight;
     String head,ear,mouth;
     void speak(String s)
     {
         System.out.println(s);
     }
     
    }
     
    class A
    {
     public static void main (String args[])    
     {
         People zhubajie ;
         zhubajie=new People();
         zhubajie.weight=200f;
         zhubajie.hight=1.70f;
         zhubajie.head="大头";
         zhubajie.ear="两只大耳朵";
         zhubajie.mouth="一只大嘴";
         System.out.println("重量"+zhubajie.weight+"身高"+zhubajie.hight);
         System.out.println(zhubajie.head+zhubajie.ear+zhubajie.mouth);
         zhubajie.speak("shifu@");
         }
    }
    在JDK环境下(不用Eclipse) 编译的时候 要求 输入 JAVAC People.java (要求一定要Public类)
                               运行时候 要求 输入 java A.java(要求是含MAIN函数的类名)
    那在Eclipse下点运行时候 编译和运行同时进行么?
    高手所谓的换版本真能解决么?
    换哪个版本 
    谢谢 
      

  5.   

    你指的是第二个问题么? 
    run - run configurations 翻译成中文是什么。。谢谢
      

  6.   


    4楼说的不对,你说的是点击“运行”图标而不是CTRL+F11 
    在哪个java文件里面CTRL+F11 就执行的是哪个文件,这个和点击“运行”图标完全是两回事
      

  7.   

    LZ的第二个问题,在JDK1.5是可以编译通过的,只是那个class不是可以执行的class,虽然你的源代码里面有main如果你的eclipse报错,就换一个高版本
      

  8.   


    你的意思是我没修改前的程序 
    Java codepackage test;
     public class People 
    {
     float hight,weight;
     String head,ear,mouth;
     void speak(String s)
     {
         System.out.println(s);
     }
     
    }
     
    class A
    {
     public static void main (String args[])    
     {
         People zhubajie ;
         zhubajie=new People();
         zhubajie.weight=200f;
         zhubajie.hight=1.70f;
         zhubajie.head="大头";
         zhubajie.ear="两只大耳朵";
         zhubajie.mouth="一只大嘴";
         System.out.println("重量"+zhubajie.weight+"身高"+zhubajie.hight);
         System.out.println(zhubajie.head+zhubajie.ear+zhubajie.mouth);
         zhubajie.speak("shifu@");
         }
    }我取的名字是 People.java 结果出现错误(我指得错误是出结果 出现其他的一个的结果 错倒是没报)
    高手
    那个class不是可以执行的class,虽然你的源代码里面有main 为什么阿?您详细说说
      

  9.   

    恩,修改之前的那个版本,public类里面没有包含main方法,所以不是可执行类,如果执行了,那么一定不是本类,也就是说如果一个class是可以执行的,那么main方法要在他的public class内
      

  10.   


    在eclipse刚启动时 会提示 工作路径的 你要编译的.java文件 必须在那个路径下 
      

  11.   

    有两种可能:
    一、你用串了对象
    二、你不能用Ctrl+F11, 需要在 具有入口方法的类 里面右击  选择 Run as  --> Java Application
      

  12.   

    我一般是右键 run as 来运行程序