for (int i = 0; i < arr.length; i++) {
System.out.println("数组第"+(i+1)+"个值为"+i);
}
for (int num:arr) {
System.out.println(num);
}
数组中常用来排序的两种方法
double sum=0;
double[ ] arr=new double[5];
for (int i = 0; i < arr.length; i++) {
System.out.print("请输入第"+(i+1)+"笔购物金额:");
arr[i]=in.nextDouble();
sum+=arr[i];
}
System.out.println("序号\t\t 金额");
for (int i = 0; i < arr.length; i++) {
System.out.println((i+1)+"\t\t"+arr[i]);
}
System.out.println("总金额:"+sum );
}
Scanner in=new Scanner(System.in);
int[] arr=new int[4];
System.out.println("请输入四家店的价格");
for (int i = 0; i <4; i++) {
System.out.print("第"+(i+1)+"店的价格为:");
arr[i]=in.nextInt();
}
for (int j = 0; j < arr.length-1; j++) {
if (arr[j]<arr[j+1]) {
arr[j+1]=arr[j];
}else {
arr[j+1]=arr[j+1];
}
}System.out.println("最低价格是:"+arr[3]);
}
③将一个数组从小到大排列
int max;
int m;
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (int a: arr) {
System.out.println(a);
}
}
}
④输入一个数字,在数组中查找,若有输出下标,若没有输出-1
Scanner in=new Scanner(System.in);
int[] arr={12,34,46,68,32,35,75,48,25};
System.out.println("输入一个数字");
int sz=in.nextInt();
for (int i = 0; i < arr.length; i++) {
if (sz==arr[i]) {
System.out.println("数字下标为"+i);
return;
}
}
System.out.println("-1");
假定现有两个数组,分别为:
int[ ] arr1={3, 1, 23};
int[ ] arr2={27, 7, 2};
设计程序,将两个数组合并成一个数组,并按升序排列合并后的数组,输出合并前和合并后的数组信息
int[ ] arr1 = {3, 1, 23};
int[ ] arr2 = {27, 7, 2};
int[ ] arr = new int[arr1.length+arr2.length]; // 1. 声明一个数组,长度等于两个数组的长度和
for(int i=0; i<arr1.length; i++){ // 2. 遍历两个数组
arr[i] = arr1[i];
}
for(int i=0; i<arr2.length; i++){
arr[arr1.length+i] = arr2[i];
}
for(int i=0; i <arr.length-1; i++){ // 3. 对新数组排序
for(int j=0; j <arr.length-1-i; j++){
if( arr [ j ]>arr[ j+1 ]){
int temp = arr[ j ];
arr [ j ] = arr[ j+1 ];
arr[ j+1 ] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
System.out.print("请输入一个数组:");
Scanner in = new Scanner(System.in);
long num = in.nextLong();
long old = num; // 暂存num
int count = 0; // num有几位,定义一个几位的数组。 求出num的位数
while(num>0){
num /= 10;
count++;
}
int[] arr = new int[count];
count = 0; // 不断取出数字的每一位,依次放入数组中
while(old>0){
arr[count] = (int)old % 10;
old /= 10;
count ++;
}
for(int i=0,j=arr.length-1; i<=j ; i++,j--){ // 依次比较数组的首尾。 有任意一位不相等,就不是回文数
if(arr[i] != arr[j]){
System.out.println("不是回文数");
return;
}
}
System.out.println("是回文数");
显示结果为
⑦ 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
// Scanner in=new Scanner(System.in); //设置输入数组
// int [] arr;
// System.out.println("输入数组");
// for (int i = 0; i < arr.length; i++) {
// int arr[i]=in.nextInt();
int [ ] arr = {5,3,7,1,0,6,9,2};
int max = arr[0] , maxIndex = 0; // 找出最大元素的下标
for(int i=0; i<arr.length; i++){
if(max < arr[i]){
max = arr[i];
maxIndex = i;
}
}
if( maxIndex != 0 ){
int temp = arr[0];
arr[0] = arr[maxIndex];
arr[maxIndex] = temp;
}
int min = arr[0] , minIndex = 0; //找出最小元素的下标
for(int i=0; i<arr.length; i++){
if(min > arr[i]){
min = arr[i];
minIndex = i;
}
}
if(minIndex != (arr.length-1)){
int temp = arr[arr.length-1];
arr[arr.length-1] = arr[minIndex];
arr[minIndex] = temp;
}
System.out.println(Arrays.toString(arr));
}
显示结果为