前面两个不解释你应该都懂吧,后面两个很简单的,是引用变量哈,你把name传到方法中去了后,试用了name = new StringBuffer("yanfan"); 这样就相当于在changeName中的name重新引用了一个新的地址,changeName中的name和main中的name是不同的哈,只是引用地址相同,changeName里面相当于是一个局部定义了一个新的变量而已,而nickName 并没有重新new,则在changeName执行append的时候是表示在引用的地址后面加了1,所以只要只要那个地址的变量的值都变了,所以nickName 就变了
第一题:第一次点显示“广西大学”,第二次点显示“中央大学”
第二题,依次输出:
31415
123
true----->>>>>>(这里是你写错了么,如果不是,这程序编译的时候就出问题了!)
J
Java C++ Pascal
import javautilArrayList;
import javautilList;
//该类有三个方法,一个给list填充,一个处理并打印,一个在main执行
public class Test {
public static void main(String[] args) {
Test t = new Test();
tcontList();
tgetAllArray(list, 0);
}
private static List list = new ArrayList();
private void contList() {
listadd(new Integer(1));
listadd(new Integer(2));
listadd(new Integer(3));
}
//前面两个没啥好说的,这个是关键,该方法参数两个:一个List类型的inlist和一个整型的site
//这里单纯说这个方法太抽象,我们结合上面两个方法
//假设已经初始化了,inlist其实就是list(1,2,3)
public void getAllArray(List inlist, int site) {
//给出一个临时site,开始这两个site都是0
int tempsite = site;
//site会在下面的循环自增,到最后会等于inlist的大小等3,这时退出方法
if (site >= inlistsize()) {
return;
}
//名字起得很明白,第一个数字,也就是每一个数列的第一位,姑且称为首数
//再看怎么给它赋值的,原来直接在inlist中取值,第一个是1,因为inlist(1,2,3),get(0)=1
Integer firstNode = (Integer) inlistget(site++);
//再给出一个临时的list,这个list跟inlist是一样的列表(1,2,3),另外此时的site已为1了
List tempList = new ArrayList(inlist);
//临时列表发生了变化,移除了一个元素,
//很关键的是这个元素是由临时site决定的,此时tempsite依然为0
//因为引出的是具体元素的索引,临时list(1,2,3)中index=0时具体元素为1,
tempListremove(tempsite);
//首数为1,临时list(2,3),开始了它们的两个循环
// 此时临时list大小为2,所以第一个循环的次数必定为2,因为只有i=0和i=1
for (int i = 0; i < tempListsize(); i++) {
//先打印1
Systemoutprint(firstNode);
//开始第二个循环,j的初始值由i决定,循环次数是2+i
//此时j=0,j<2
for (int j = i; j < tempListsize() + i; j++) {
//因为j=0 < 2,所以执行条件1,打印出一个逗号和一个2,(2,3)中get(0)=2
//打印了2后又回到for里面,此时j已为1,还是条件1,get(1)=3,打印结果1,2,3
//最后一次j已不再小于2,跑到下面去打印“”去了,这个用来换行
if (j < tempListsize()) {
Systemoutprint("," + tempListget(j));
} else {
Systemoutprint("," + tempListget(j - tempListsize()));
}
}
//换行后继续回到第一个循环,i=1,第二个循环,j=1,get(1)=3,
// 然后继续第二个循环j=2,j<2+1,但是此时不满足条件1,跑到2,
// 打印逗号,get(2-2)即get(0)=2,也就是(1,3,2)
Systemoutprintln("");
}
//返回调用结果的结果,结果有两个数列(1,2,3)和(1,3,2)
//其他的就不啰嗦了
getAllArray(inlist, site);
}
}
以上就是关于java程序分析全部的内容,包括:java程序分析、分析JAVA程序,写出运行结果、一个JAVA程序的分析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)