注:文章内容来源于网络,真实性有待确认,请自行甄别。
请高手看一下这个JAVA程序,为什么无法执行我最近编了一个面向对
发表于:2024-10-24 00:00:00浏览:7次
问题描述:我最近编了一个面向对象的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);
}
}
猜你喜欢
- JAVA编程软件问题。我是一个初学者,现在学习JAVA是运用nt
- 我是一个初学者,现在学习J是运用ntoepad和JDK环境,觉得不太方便,但JBuider不太会用,希望高手推荐一款有操作平台的JAVA编程软件,谢谢!
- 请指教:关于JAVA的学习本人刚初学JAVA,请大家提供点好的学
- 本人刚初学J,请大家提供点好的学习资料,以及学习中需注意的内容,请高手们多多指教!~~~ 还有本人English不怎么好,对学习JAVA有影响吗?!~~ 先谢谢大家了!~~~
栏目分类全部>
推荐文章
- JAVA编程语言有几种啊?这几种哪种是时下的主流?最好的是哪种?
- 有关java程序员的事在西安有什么公司都招,待遇怎么样.薪水怎么
- JAVA编程软件问题。我是一个初学者,现在学习JAVA是运用nt
- 如何看懂java源代码我找了一个开发源码项目cobra,我用ec
- 请指教:关于JAVA的学习本人刚初学JAVA,请大家提供点好的学
- 我下载了sdk它是bin文件,怎么打开、安装?谢谢
- JAVA学习中的问题x++和++x这两个运算符到底是怎么运算的?
- 编写jsp网页最好用什么软件现在想学习jsp编写一个基于WEB的
- 小型超市管理系统用java写的代码!急!!!
- jsp网页用户注册时的数据验证制作jsp网页的注册页,想检验用户