黑马程序员技术交流社区
标题:
新手上路,菜鸟问题请高手解答
[打印本页]
作者:
&天马星空ぁ
时间:
2016-9-6 09:24
标题:
新手上路,菜鸟问题请高手解答
重新定义个一个数组并把原来的数组赋值给这个新的数组,
然后改变旧数组的顺序,新得到的数组顺序也会改变吗?
/*
要求:
写一个程序输入5个整数a,b,c,按从小到大顺序输出
*/
//导入Scanner控制台输入包
import java.util.Scanner;
public class Demo04
{
public static void main(String[] args)
{
int[] arr=new int[5];
Scanner sc=new Scanner(System.in);
//从控制台输入5个整数数值形成一个数组
for(int i=0;i<5;i++)
{
System.out.println("请输入一个整数");
arr[i]=sc.nextInt();
}
int[] arr1=arr;
//对数组内的各个数进行排列 从小到大
for(int i=0;i<arr.length-1;i++)
{
int temp;
for(int a=i+1;a<arr.length;a++)
{
if(arr[i]>arr[a]){
temp=arr[a];
arr[a]=arr[i];
arr[i]=temp;
}
}
}
//输出数组中的每个数值
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println();
//找出arr数组中的每个值对应arr1中的角标
for(int i=0;i<arr.length;i++)
{
for(int y=0;y<arr.length;y++){
if(arr[i]==arr1[y]){
System.out.print(y+" ");
}
}
}
}
}
作者:
&天马星空ぁ
时间:
2016-9-6 10:23
为什么新的数组也会改变呢?
作者:
君行
时间:
2016-9-6 11:34
你最后用的==于才会进去输出 能不顺序一样吗..
作者:
zhoujiafan
时间:
2016-9-6 15:16
火钳 留名,22333333
作者:
Ryan_Println
时间:
2016-9-6 15:19
zhoujiafan 发表于 2016-9-6 15:16
火钳 留名,22333333
典型的水军0.0
作者:
&天马星空ぁ
时间:
2016-9-6 15:26
君行 发表于 2016-9-6 11:34
你最后用的==于才会进去输出 能不顺序一样吗..
我已经知道了
是因为我上边写的int[] arr=arr1;
数组是引用数据类型,赋值给arr1是赋的地址值,并不是数据值,
所以两个数组其实就是一个数组,所以顺序才一样
作者:
459374998
时间:
2016-9-29 23:23
这个问题问的好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2