标题:一道方法调用的笔试题
只看楼主
西鄙人
Rank: 2
等 级:论坛游民
帖 子:36
专家分:12
注 册:2009-12-2
结帖率:100%
 问题点数:0 回复次数:5 
一道方法调用的笔试题

pubic static void main(String[] args){
    String str="hello";
    char[] c=new char[]{'a','b','c'};
    method(str,c);
    System.out.println("str="+str+" ****** c="+c.toString());
}

public void method(String str,char[] c){
    str="ok there";
    c[0]='g';
}


没有ide,用记事本编辑的,可能有细节错误,各位见谅。大致意思应该表达清楚了。

问输出结果是什么?
搜索更多相关主题的帖子: 笔试 
2010-11-08 14:33
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
str=hello ****** c=g,b,c

世事如潮我如水,只叹江湖几人回。
2010-11-15 14:25
贾文慧
Rank: 2
等 级:论坛游民
帖 子:15
专家分:33
注 册:2010-5-8
得分:0 
应该是这个吧,str=ok there ****** c={g,b,c}
2010-11-16 16:05
maxliz
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:5
帖 子:71
专家分:248
注 册:2010-8-22
得分:0 
hello****c=字符数组的地址
public丢了个"l"
调用方法要new对象 或者把方法写成静态的
根据程序执行流程 method方法调用后 str指向"go there"的引用被销毁 所以打印的str是指向"hello"的那个
如果你把打印语句写在method方法里 最后打印出来的就是go there
字符数组你不重写他的toString方法 打印的都是内存地址 你里面的c.toString和直接打印c没区别


2010-11-17 03:20
czc0807
Rank: 2
等 级:论坛游民
帖 子:28
专家分:73
注 册:2009-10-19
得分:0 
楼上正解 。

Java 编程技術交流Q群:10814882欢迎你的加入````
2010-12-07 12:28
justbelyf
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-12-13
得分:0 
第一,public写错了
第二,method不是static,不能直接调用
第三,java中只有值传递
所以输出hello****abc
2010-12-13 17:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-325302-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032871 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved