我是小白 刚刚学习java 有个数组的问题 哪个兄弟帮忙解决一下
问题如下
现在有一个数组arr[],在键盘输入一个数组中的元素,然后怎么返回元素所在数组中的位置
例如 arr[0] = 1,用键盘输入1,之后输出:1在数组的位置是0。
问题如下
现在有一个数组arr[],在键盘输入一个数组中的元素,然后怎么返回元素所在数组中的位置
例如 arr[0] = 1,用键盘输入1,之后输出:1在数组的位置是0。
调试欢乐多
更简单的方法我不清楚。希望有所帮助。
int arr[] = {2,3,4,5,6,7,8,7,6,4};
String str = "";
for(int i = 0;i<arr.length;i++){
if(arr[i] == 4){
str = str + i + ",";
}
}
System.out.println(str);
public static void main(String[] args) {
int[] i = {5,6,7,44,55,89,};//原来的数组
int x = 24;//要插入的数据
System.out.print("插入前数据: ");
print(i);
i=insert(i,x);
System.out.print("插入["+x+"]后数据: ");
print(i);
}
/**遍历并打印出数组中的数据*/
private static void print(int[] a){
for(int i=0; i<a.length; i++)
System.out.print(a[i]+", ");
System.out.println();//换行
}
/**插入数据并重新排序的方法*/
private static int[] insert(int[] a,int in){
int[] copy = new int[a.length+1];//新建一个临时数组,长度比原数要大1
copy[0]=in;//先将要插入的数据放入第一单元格
//原来数组中的数复制过来,存在第二格为开始的单元格中
for(int i=0; i<a.length; i++)
copy[i+1]=a[i];
//对临时数组重新排序
for(int i=0; i<copy.length-1; i++)
//如果前一数据大于后一数据,就进行交换.
if(copy[i]>copy[i+1]){
copy[i]+=copy[i+1];
copy[i+1]=copy[i]-copy[i+1];
copy[i]-=copy[i+1];
i-=i==0?1:2;//逐级上溯
}
//返回临时数组,任务完成
return copy;
}
}
比如是个整形值 可以
import java.util.Scanner;
.......
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
num就是键盘输入的整型值了