分类：电脑/网络-程序设计-JAVA相关
问题：请高手看一下这个JAVA程序,为什么无法执行我最近编了一个面向对 
我最近编了一个面向对象的J程序,此程序将判断名字是姓在前还是名在前,并且分解出姓和名,但不知为何无法执行.程序分为5个类,分别为Name,FirstFirst,FirstLast,NameFactory,Chap07NameParser(其中Chap07NameParser是主程序),程序源代码如下:Name类public class Name {  protected String surname;//姓  protected String firstname;//名    public String getFirstname()我最近编了一个面向对象的J程序,此程序将判断名字是姓在前还是名在前,并且分解出姓和名,但不知为何无法执行.程序分为5个类,分别为Name,FirstFirst,FirstLast,NameFactory,Chap07NameParser(其中Chap07NameParser是主程序),程序源代码如下:Name类public class Name {  protected String surname;//姓  protected String firstname;//名    public String getFirstname() {    return firstname;  }  public String getSurname() {    return surname;  }}FirstFirst类package  parser;class FirstFirst extends Name {public FirstFirst(String s) {  int i= stIndexOf(" ");//搜索空格  if (i>0){    firstname= bstring(0,i).trim();    surname= bstring(i+1).trim();  }}FirstFirst parser=new FirstFirst("Gary Chan");String mySername= tSurname();}FirstLast类package  parser;class FirstLast extends Name {  public FirstLast(String s) {    int i= dexOf(",");//搜索逗号    if (i>0){      firstname= bstring(0,i).trim();      surname= bstring(i+1).trim();    }  }  FirstLast parser=new FirstLast("Yao Ming");  String mySername= tFirstname();  }NameFactory类package  parser;public class NameFactory {public static Name getName(String entry) {  if ( dexOf(",")>0)    return new FirstLast(entry);//return one class  else if ( dexOf(" ")>0)    return new FirstFirst(entry);//or the other  else    return null;    }}Chap07NameParser类package  rychan;import  parser.NameFactory;import  parser.Name;public class Chap07NameParser {  public static void main(String[] args) {    Name name = tName("Yao,Ming");    if(null == name) {       intln("姓名不合法");      else {         intln("姓:"+ tSurname());         intln("名:"+ tFirstname());      }    }  }}
回答：，你的太复杂了  我跟你改了一个，你去试一试，我试出来了的，蛮不错的。保存成Chapter7.java  然后运行即可，建议你以后不要搞那么多个类，又是继承，又是import,很浪费时间的，就方在一起就行了嘛import  .*;public class Chapter7 {public static void factory(String entry) {String surname,firstname,s;s=entry;int i;if ( dexOf(",")>0){i= dexOf(",");surname= bstring(0,i).trim();firstname= bstring(i+1).trim(); intln("姓:"+surname); intln("名:"+firstname);}else if ( stIndexOf(" ")>0){i= stIndexOf(" ");firstname= bstring(0,i).trim();surname= bstring(i+1).trim(); intln("姓:"+surname); intln("名:"+firstname);}   else  intln("输入姓名不合法");}public static void main(String[] args) throws IOException {InputStreamReader reader=new InputStreamReader( );BufferedReader input=new BufferedReader(reader); intln("please input your name,like 'Tim Duncan' in english or like 'yao,ming' in chinese"); String name= adLine(); String entry= im();factory(entry); }}