javaday09

请输入10位同学的java成绩,
1、求平均成绩,最高成绩、最低成绩
2、对10的成绩按照从低到高的顺序排列

package homeworkday09;
import java.util.Scanner;
//请输入10位同学的java成绩,
//1、求平均成绩,最高成绩、最低成绩
//2、对10的成绩按照从低到高的顺序排列
public class homework01 {
	public static void main(String[] args) {
		int[] arr =createLinearArray();
		qiuzhi(arr);
		bubbleSort(arr);
		show1(arr);		
	}
	//创造整型一维数组
    public static int[] createLinearArray(){
        Scanner sc = new Scanner(System.in);
        System.out.println("创造一维整型数组容量为:");
        int a = sc.nextInt();
        int[] arr = new int[a];
        for(int i = 0;i < arr.length;i++){
            System.out.println("请输入第"+(i+1)+"个整数装入数组");
            arr[i] = sc.nextInt();
        }
        sc.close();
        return arr;      
    }
    // 求最大值、最小值、平均值
    public static  void qiuzhi(int[] arr) {
    	int sum = 0;
        int min = arr[0];
        int max = arr[0];
        for(int index = 0;index<arr.length;index++){
            sum += arr[index];
            if(max <= arr[index]){
                max = arr[index];
            }
            if(min >= arr[index]){
                min = arr[index];
            }
        }
        double mean = (double)sum/arr.length;
        System.out.println("最大值为:"+max);
        System.out.println("最小值为:"+min);
        System.out.println("平均值为:"+mean);
    }
  //一维数组冒泡排序
    public static void bubbleSort(int[] arr) {
		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]) {
					swap(arr, j, j + 1);//使用自定义数组内值的交换swap()函数
				}
			}
		}
	}
  //数组内值的交换
    public static void swap( int[] arr,int a,int b){
        arr[a] = arr[a]^arr[b];
        arr[b] = arr[a]^arr[b];
        arr[a] = arr[a]^arr[b];
    }
    //一维数组遍历方法一
   public static void show1(int[] arr){
	   System.out.println("数组内值展示");
       for(int i = 0;i < arr.length;i++){
           System.out.print(arr[i]+" ");
       }
   }

}

2.给定一个数组,判断某个元素是否在该数组中

package homeworkday09;
//给定一个数组,判断某个元素是否在该数组中
import java.util.Scanner;
public class homework02 {

	public static void main(String[] args) {
		int[] arr = createLinearArray();
		System.out.println("数值展示:");
		show2(arr);
		System.out.println();
		insertSort(arr);
		System.out.println("请输入你要查找的数:");
		Scanner sc = new Scanner(System.in);
		int target = sc.nextInt();
		int index =binaySearch(arr,target);
		if(index == -1) {
			System.out.println("该数不在此数组!");
		}else {
			System.out.println("该数在数组中第"+(index+1)+"位");
		}
		sc.close();
	}
    //创造整型一维数组
    public static int[] createLinearArray(){
        Scanner sc = new Scanner(System.in);
        System.out.println("创造一维整型数组容量为:");
        int a = sc.nextInt();
        int[] arr = new int[a];
        for(int i = 0;i < arr.length;i++){
            System.out.println("请输入第"+(i+1)+"个整数装入数组");
            arr[i] = sc.nextInt();
        }
        return arr;      
    }
    //数组内值的交换
    public static void swap( int[] arr,int a,int b){
        arr[a] = arr[a]^arr[b];
        arr[b] = arr[a]^arr[b];
        arr[a] = arr[a]^arr[b];
    }
    //一维数组插入排序
    public static void insertSort(int[] arr) {
		for (int i = 0; i < arr.length - 1; i++) {
			for (int j = i + 1; j > 0; j--) {
				if (arr[j] < arr[j - 1]) {
					swap(arr, j, j - 1);//使用自定义数组内值的交换swap()函数
				}
			}
		}
	}
    //一维数组遍历方法二
    public static void show2(int[] arr){
    	int a = 0;
    	while(a < arr.length){
    		System.out.print(arr[a]+" ");
    		a++;
    	}
    }
  //一维数组有序数列二分查找
    public static int binaySearch(int[] arr,int target){
        int start = 0;
        int end = arr.length-1;
        while(start <= end){
            int middle = (start + end) >> 1;
            if(target < arr[middle]){
            end = middle-1;
            }else if(target > arr[middle]){
             start = middle+1;   
            }else{
                return middle;
            }
        }
        return -1;      
    } 

}

函数中加了sc.close();编译没问题,但运行会报错,待解决

3.给定一个数组,大小为10,输入十个同学的成绩,求这些成绩的总分数
   某一天转入2个新同学,请再次求12个同学的平均成绩(尝试着使用扩容的形式做)

package homeworkday09;
//给定一个数组,大小为10,输入十个同学的成绩,求这些成绩的总分数
//某一天转入2个新同学,请再次求12个同学的平均成绩(尝试着使用扩容的形式做)
import java.util.Scanner;
public class homework3 {

		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);	            
			int[] arr =createLinearArray(10);
			qiuzhi(arr);	
			System.out.println("请输入第11同学的成绩");
			int a = sc.nextInt();
			System.out.println("请输入第12同学的成绩");
			int b = sc.nextInt();
			int[] arr2 = LinearArray(arr,a,b);
			qiuzhi2(arr2);	
			sc.close();
		}

	    public static int[] createLinearArray(int a ){
	    	Scanner sc = new Scanner(System.in);	            
	        int[] arr = new int[a];
	        for(int i = 0;i < arr.length;i++){
	            System.out.println("请输入第"+(i+1)+"同学的成绩");
	            arr[i] = sc.nextInt();
	        }
	        return arr;   
	    }
	    public static int[] LinearArray(int[] arr,int a,int b ){
	    	Scanner sc = new Scanner(System.in);	            
	        int[] arr2 = new int[12];
	        for(int i = 0;i < arr.length;i++){
	            arr2[i] =arr[i];
	        }
	        arr2[10] = a;
	        arr2[11] = b;
	        return arr2;   
	    }

	    public static  void qiuzhi(int[] arr) {
	    	int sum = 0;
	        for(int index = 0;index<arr.length;index++){
	            sum += arr[index];
	        }
	        System.out.println("总成绩为:"+sum);
	    }
		    public static  void qiuzhi2(int[] arr2) {
		    	int sum = 0;
		        for(int index = 0;index<arr2.length;index++){
		            sum += arr2[index];
		        }
		        double mean = (double)sum/arr2.length;
		        System.out.println("平均成绩为:"+mean);
		  }
		    
	    //一维数组遍历方法一
	   public static void show1(int[] arr){
		   System.out.println("数组内值展示");
	       for(int i = 0;i < arr.length;i++){
	           System.out.print(arr[i]+" ");
	       }
	   }

	}

4:如何将10个0-10随机存入数组中

package homeworkday09;
//如何将10个0-10随机存入数组中
public class homework4 {

	public static void main(String[] args) {
		int[] arr = createLinearArray();
		show(arr);
	}
	public static int[] createLinearArray(){
        int[] arr = new int[10];
        for(int i = 0;i < arr.length;i++){
            arr[i] =(int)Math.floor(Math.random()*10);
        }
        return arr;      
    }
	 //一维数组迭代
    public static void show(int[] arr){
        for(int a:arr){
            System.out.print(a+" ");
        }
    }

}

5.存在整数数组nums,将该数组中的所有偶数元素排列到奇数元素前

package homeworkday09;
import java.util.Scanner;
//存在整数数组nums,将该数组中的所有偶数元素排列到奇数元素前
public class homework5 {

	public static void main(String[] args) {
		int[] nums = createLinearArray() ;
		System.out.println("展示:");
		show1(nums);
		System.out.println("将该数组中的所有偶数元素排列到奇数元素前:");
		noInsertSort(nums);
		System.out.println();
		show1(nums);
	}
	//创造整型一维数组
    public static int[] createLinearArray(){
        Scanner sc = new Scanner(System.in);
        System.out.println("创造一维整型数组容量为:");
        int a = sc.nextInt();
        int[] arr = new int[a];
        for(int i = 0;i < arr.length;i++){
            System.out.println("请输入第"+(i+1)+"个整数装入数组");
            arr[i] = sc.nextInt();
        }
        sc.close();
        return arr;      
    } 
  //一维数组插入排序变种
    public static void noInsertSort(int[] arr) {
		for (int i = 0; i < arr.length - 1; i++) {
			for (int j = i + 1; j > 0; j--) {
				if ((arr[j] & 1) == 0) {
					swap(arr, j, j - 1);//使用自定义数组内值的交换swap()函数
				}
			}
		}
	}
    //一维数组遍历方法一
 public static void show1(int[] arr){
     for(int i = 0;i < arr.length;i++){
         System.out.print(arr[i]+" ");
     }
 }
 //数组内值的交换
 	public static void swap( int[] arr,int a,int b){
 		arr[a] = arr[a]^arr[b];
 		arr[b] = arr[a]^arr[b];
 		arr[a] = arr[a]^arr[b];
 	}
}

6.将数组中的重复数据去重

package homeworkday09;
//去除数组中重复项(不含有-404项)
import java.util.Scanner;
public class homework6 {
	public static void main(String[] args) {
		int[] arr = createLinearArray();
		System.out.println("输入数组为:");
		show1(arr);
		bubbleSort(arr);
		System.out.println();
		System.out.println("升序排序::");
		show1(arr);
		deleteRepetition(arr);
		System.out.println();
		System.out.println("去除重复:");
		show2(arr);
		

	}
	//创造整型一维数组
    public static int[] createLinearArray(){
        Scanner sc = new Scanner(System.in);
        System.out.println("创造一维整型数组容量为:");
        int a = sc.nextInt();
        int[] arr = new int[a];
        for(int i = 0;i < arr.length;i++){
            System.out.println("请输入第"+(i+1)+"个非-404整数装入数组");
            arr[i] = sc.nextInt();
        }
        sc.close();
        return arr;      
    }
	//一维数组冒泡排序
    public static void bubbleSort(int[] arr) {
		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]) {
					swap(arr, j, j + 1);//使用自定义数组内值的交换swap()函数
				}
			}
		}
	}
  //数组内值的交换
    public static void swap( int[] arr,int a,int b){
        arr[a] = arr[a]^arr[b];
        arr[b] = arr[a]^arr[b];
        arr[a] = arr[a]^arr[b];
    }
    //一维数组遍历方法一
    public static void show1(int[] arr){
    	for(int i = 0;i < arr.length;i++){
    		System.out.print(arr[i]+" ");
    	}
    }
    //一维数组遍历方法m
    public static void show2(int[] arr){
    	for(int i = 0;i < arr.length;i++){
    		if(arr[i]!=-404) {
    		System.out.print(arr[i]+" ");
    		}else
    			System.out.print("");
    	}
    }
    
    public static void deleteRepetition(int[] arr) {
		for (int i = 0; i < arr.length - 1; i++) {
			for (int j = i + 1; j > 0; j--) {
				if ((arr[j] ^ arr[j-1]) == 0) {
				arr[j-1]=-404;
				}
			}
		}
	}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值