java数组类型返回值的问题!14656

importjava.util.*;publicclassStudents{Scannerinput=newScanner(System.in);//示例1String[... import java.util.*;
public class Students {
Scanner input = new Scanner(System.in);
//示例1
String[] names = new String[5]; //创建names数组
//示例2
float java = 0; //Java成绩
float database = 0; //database成绩
float html = 0; //html成绩
//示例3
float height; //身高
/**示例1*/
public void inputName(){
System.out.println("请依次录入5个学生的姓名:");
for(int i=0;i<names.length;i++){//依次录入5为学生的成绩
names[i] = input.next();
}//for循环结束括号
}//inputName方法结束括号
public String[] getNames(){
Arrays.sort(names); //把names数组排序
return names; //返回排序后的数组
}
}

public class Test {
public static void main(String[] args){
Students st = new Students(); //创建Students对象
String[] namesStudent = new String[st.names.length]; //创建数组
st.inputName(); //调用inputName方法
System.out.println("排序后:");
namesStudent = st.getNames(); //引用数组
st.getNames(); //调用getNames方法
for(int i=0;i<namesStudent.length;i++){
System.out.print(namesStudent[i]+" "); //循环输出数组中的元素
}//for循环结束
}
}

namesStudent 这个数组的值是引用了names 数组的内存地址吗?还是他们是两个独立的数组?非常感谢,谢谢哦,在线等呢!
展开
 我来答
过客_陌颜
2011-04-29 · TA获得超过110个赞
知道答主
回答量:37
采纳率:0%
帮助的人:27.9万
展开全部
确实是两个一样的数组.可以直接输出内存地址来看. 不要重写toString()
用 System.out.println(namesStudent);
System.out.println(st.getNames());加在后面自己验证~~~~
wojiushiwoltq
2011-04-29 · TA获得超过875个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:358万
展开全部
是两个引用指向同一个数组,你可以用equals方法比较一下看是不是同一个数组,equals方法比较的是两个对象的内存地址是不是相同,若相同,就返回true,内存地址都相同了,肯定就是同一个数组。
测试了下,你这个返回的是true,应该是同一个数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
踏月听音
2011-04-29 · TA获得超过132个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:162万
展开全部
namesStudent = st.getNames(); //引用数组
下边输出 namesStudent的长度 然后遍历显示出来数组里面有什么 看看你获取到值没有 然后再看看 hashcode一步一样就可以了 呀 希望帮到你了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
温安时
2011-04-29 · TA获得超过118个赞
知道答主
回答量:89
采纳率:0%
帮助的人:33.6万
展开全部
是同一个数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式