資源簡介
徐傳運 清華大學出版社 JAVA高級程序設計 思考與練習答案 算法與程序設計 一到九章答案都有,文字部分也有答案,其余為代碼,導入后即可運行。

代碼片段和文件信息
package?ddd.ajava.chapter2.question1;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.UnsupportedEncodingException;
import?java.lang.reflect.Constructor;
import?java.lang.reflect.Field;
import?java.lang.reflect.Method;
import?java.lang.reflect.Modifier;
import?ddd.ajava.util.StringUtil;
/**
?*?@author?lenovo?
?*?反射得到Person源代碼有如下步驟?
?*?1.獲得包名?
?*?2.獲得類名?
?*?3.獲得構造方法
?*?4.獲得屬性
?*?5.獲得方法?
?*?6.組裝成為一個類
?*/
public?class?GeneratePerson?{
private?static?final?String?BLANK?=?“?“;
private?static?final?String?TAB?=?“\t“;
private?StringBuilder?sb?=?new?StringBuilder();
public?static?void?main(String[]?args)?{
GeneratePerson?gp?=?new?GeneratePerson();
gp.generate();
}
/*private?void?testModifier(){
System.out.println(Modifier.PUBLIC);//1
System.out.println(Modifier.PRIVATE);//2
System.out.println(Modifier.PROTECTED);//4
System.out.println(Modifier.INTERFACE);//
}*/
private?static?Class>?clazz?=?null;
static?{
try?{
clazz?=?Class.forName(“ddd.ajava.chapter2.question1.Person“);
}?catch?(ClassNotFoundException?e)?{
e.printStackTrace();
}
}
public?void?generate(){
this.getPackageDesc();
this.getClassDesc();
this.getFieldDesc();
this.getConstructorDesc();
this.getMethodDesc();
sb.append(“\n}“);
this.generateOutput();
}
private?void?getPackageDesc()?{
String?packageName?=?clazz.getPackage().getName();
sb.append(“package?“+packageName+“.generated;“);
}
/**
?*?Modifier類修飾符的對應情況
?*?Modifier.PUBLIC?//1
?*?Modifier.PRIVATE//2
?*?Modifier.PROTECTED//4
?*?“default“//0
?*?modifier值>=512即為interface,0-511是class
?*/
private?void?getClassDesc()?{
String?classModifier=““;
int?modifier=clazz.getModifiers();
if(modifier==0){
classModifier=“class“;
}else?if(modifier==1){
classModifier=“public?class“;
}else{
if(Modifier.isPublic(modifier)){
classModifier=“public?interface“;
}else{
classModifier=“interface“;
}
}
String?className?=?clazz.getSimpleName();
sb.append(“\n\n“+classModifier+BLANK+className+“{“);
}
private?void?getConstructorDesc()?{
Constructor[]?cons?=?clazz.getDeclaredConstructors();
for?(Constructor?c?:?cons)?{
Class[]?param=c.getParameterTypes();
StringBuilder?paramSB=new?StringBuilder();
//有參數的方法,要在類型后面添加變量名
if(param.length>0){
paramSB.append(clazz.getSimpleName()+“(“);
String?arg=“arg“;
for(int?i=0;i paramSB.append(param[i].getCanonicalName()+BLANK+arg+i+““);
}
paramSB=new?StringBuilder(paramSB.substring(0?paramSB.length()-1));
paramSB.append(“)“);
String?name=c.toString();
name=name.replaceFirst(“\\S(\\w*\\.*)*\\((\\w*\\.*\\?*)*\\)“paramSB.toString());
sb.append(“\n“+TAB+name+“{\n\n“+TAB+“}\n“);
continue;
}
String?name=c.toString();
name=name.replaceFirst(“\\S(\\w*\\.*)*\\(“?cla
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-01?16:18??課后習題參考答案\
?????文件???????92160??2014-04-16?21:33??課后習題參考答案\第一章和第三章.doc
?????目錄???????????0??2014-04-16?21:28??課后習題參考答案\第二章,第四章至第九章(代碼)\
?????文件?????????950??2013-08-31?08:33??課后習題參考答案\第二章,第四章至第九章(代碼)\.classpath
?????文件?????????381??2013-08-22?12:16??課后習題參考答案\第二章,第四章至第九章(代碼)\.project
?????目錄???????????0??2014-04-16?21:28??課后習題參考答案\第二章,第四章至第九章(代碼)\.settings\
?????文件??????????88??2013-08-19?21:42??課后習題參考答案\第二章,第四章至第九章(代碼)\.settings\org.eclipse.core.resources.prefs
?????文件?????????629??2013-08-14?13:21??課后習題參考答案\第二章,第四章至第九章(代碼)\.settings\org.eclipse.jdt.core.prefs
?????文件???????????0??2013-08-22?12:11??課后習題參考答案\第二章,第四章至第九章(代碼)\a.txt
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question1\
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question10\
?????文件????????3844??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question10\GenerateSQL.class
?????文件????????1254??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question10\Person.class
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question11\
?????文件????????5510??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question11\ConvertBtnPersonAndMap.class
?????文件????????1890??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question11\Person.class
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question1\generated\
?????文件????????1491??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question1\generated\Person.class
?????文件????????6173??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question1\GeneratePerson.class
?????文件????????1518??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question1\Person.class
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question2\
?????文件??????????72??2013-08-20?09:40??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question2\Person.txt
?????文件????????4383??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question2\StoreAttrToTxt.class
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question3\
?????文件????????4697??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question3\SetAttrToInstance.class
?????目錄???????????0??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question4\
?????文件????????1119??2018-01-01?16:19??課后習題參考答案\第二章,第四章至第九章(代碼)\bin\ddd\ajava\chapter2\question4\Bootstrap.class
............此處省略296個文件信息
評論
共有 條評論