第四次上机练习

1编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值。

package a;

import java.util.Scanner;

public class sss {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []x= {10,20,30,40,50};
		for(int y:x) {
			System.out.println(y+" ");
		}
	}
	}

  

2.编写一个简单程序,要求数组长度为5,动态赋值10,20,30,40,50,在控制台输出该数组的值

package a;

import java.util.Scanner;

public class sss {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[]arr= {10,20,30,40,50};
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]+" ");
		}
	}
}

 

 3.编写一个简单程序,定义整型数组,里面的元素是{23,45,22,33,56},求数组元素的和、平均值

package a;

import java.util.Scanner;

public class sss {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a[]= {23,45,22,33,56};
		double sum=0;
		for(int i=0;i<a.length;i++){
			sum+=a[i];
		}
		System.out.println("和是"+sum+"平均值是"+sum/5);
	}
}

  

4.在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。

package a;

import java.util.Scanner;

public class sss {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[]arr= {18,25,7,36,13,2,89,63};
		int temp=0;
		for(int i=0;i<arr.length-1;i++) {
			if(arr[i]>arr[i+1]) {
				if(temp<arr[i]) {
				temp=arr[i];
				}
			}
}	
		System.out.println(temp);
		int j=0;
		for(j=0;j<arr.length;j++) {
			if(temp==arr[j]) {
				break;
			}
		}
		System.out.println(j);
	}
}

  

5.将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)

package a;

import java.util.Scanner;

public class sss {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 int i ;
	        int[] arr;
	        System.out.println("请输入数组的长度");
	        Scanner inp = new Scanner(System.in);
	        int num = inp.nextInt();
	        arr = new int[num];
	        System.out.println("请输入"+num+"个数");
	        Scanner in = new Scanner(System.in);
	        for(i =0 ;i<arr.length;i++){
	            arr[i] = in.nextInt();
	        }   
	        for(i = 0;i<arr.length/2;i++){
	            int m = arr[i];
	            arr[i] = arr[arr.length-1-i];
	            arr[arr.length-1-i] = m;
	        }
	        for(i = 0;i<arr.length;i++){
	            System.out.print(arr[i]+" ");
	        }
}
}

  

6.  {不会}     有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。(附加题)   

package a;

import java.util.Scanner;

public class sss {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr = {14, 18, 23, 8, 421, 42, 89, 9, 88, 36};
		int[] sortArr = bubbleSort(arr);
		
		System.out.println("数组插入数字前排序顺序:");
		printArr(sortArr);
		
		System.out.println("请输入要插入的数字:");
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		int number = scanner.nextInt();
		
		int[] insertArr = insert(sortArr, number);
		System.out.println("数组插入数字后排序顺序:");
		printArr(insertArr);
		
	}
	
	//冒泡排序
	private static int[] bubbleSort(int[] arr) {
		
		for (int i=0; i<arr.length; i++) {
			for (int j=0; j<arr.length-i-1; j++) {
				if(arr[j] > arr[j+1]) {
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
		return arr;
		
	}
	
	//插入数字后的数组排序
	private static int[] insert(int[] arr, int number) {
		
		int[] tempArr = new int[arr.length+1];
	
		for (int i=0; i<arr.length; i++) {
			tempArr[i] = arr[i];
		}
		tempArr[tempArr.length-1] = number;
		tempArr = bubbleSort(tempArr);
		
		return tempArr;
		
	}	
	
	//遍历数组
	private static void printArr(int[] arr) {
		
		for (int i=0; i<arr.length; i++) {
			System.out.print(arr[i]+" ");
		}
		System.out.println();
		
	}

}

  

原文地址:https://www.cnblogs.com/y611lx/p/12665372.html