zoukankan      html  css  js  c++  java
  • java8数组

    public class jh_01_为什么需要数组 {
    	public static void main(String[] args) {
    		int [] arr = new int[5];
    //		int a = 10;
    	}
    
    }
    

      

    import java.util.Scanner;
    
    public class jh_02_如何使用数组 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int [] arr = new int[5];
    		for (int i= 0; i < arr.length; i++) {
    			 System.out.println("shuru");
    			arr[i] = sc.nextInt();
    		}	
    //		 arr[0] = 99;
    //		 arr[1] = 98;
    //		 arr[2] = 97;
    //		 arr[3] = 96;
    //		 arr[4] = 95;
    //		 arr = null;//NullPointerException
    		//System.out.println(arr.length);
    		 System.out.println(arr[0]);
    		 System.out.println(arr[1]);
    		 System.out.println(arr[2]);
    		 System.out.println(arr[3]);
    		 System.out.println(arr[4]);
    		// System.out.println(arr[-5]);//ArrayIndexOutOfBoundsException
    		System.out.println("*********************");
    		 for(int i = 0;i< 5;i++ ) {
    			 System.out.println(arr[i]);
    		 }
    		 System.out.println("*********************");
    		 for(int i = 0;i< arr.length;i++ ) {
    			 System.out.println(arr[i]);
    		 }
    		 int sum =0;
    		 for(int i = 0;i< arr.length;i++ ) {
    			sum += arr[i];
    		 }
    	
    		
    		
    		String [] name= new String[5];
    		name[0] = "张三";
    		name[1] = "李四";
    		name[2] = "张三";
    		name[3] = "张三";
    		name[4] = "张三";
    		System.out.println(name[0]);
    		System.out.println(name[1]);
    		System.out.println(name[2]);
    		System.out.println(name[3]);
    		System.out.println(name[4]);
    		System.out.println("********************");
    		for (int i = 0; i < name.length; i++) {
    			System.out.println(name[i]);
    		}
    		System.out.println("********************");
    		for (int i = 0; i < 5; i++) {
    			System.out.println(name[i]);
    		}
    		
    		
    	
    	}
    
    }
    

      

    public class jh_03_数组赋值 {
    	public static void main(String[] args) {
    //		Scanner sc = new Scanner(System.in);
    //		int [] arr = new int [5];
    //		for (int i= 0; i < arr.length; i++) {
    //			 System.out.println("shuru");
    //			arr[i] = sc.nextInt();
    //		}
    		
    		int [] arr03 = new int []{1,2,3,4,5};
    		int [] arr02 = {1,2,3,4,5};
    		for (int i = 0; i < arr02.length; i++) {
    			if(i!=arr02.length-1 ) {
    				System.out.print(arr02[i]+", ");
    			}else {
    				System.out.print(arr02[i]);
    			}
    		}
    		
    		
    	}
    
    }
    

      

    public class jh_04_现场编程 {
    	/*
    	 * 有一个数列:8,4,2,1,23,344,12
    	 * 循环输出数列的值
    	 * 求数列中所有数值的和
    	 * 猜数游戏:从键盘中任意输入一个数据,
    	 * 判断数列中是否包含此数 
    	 */
    	public static void main(String[] args) {
    		int [] arr={8,4,2,1,23,344,12};	
    //		循环输出数列的值---迭代. 遍历.
    		for (int i = 0; i < arr.length; i++) {
    			System.out.println(i);
    		}
    		System.out.println("*******************");
    //      求数列中所有数值的和
    		// 数据类型 元素:
    		for (int i : arr) {
    			System.out.println(i);
    		}
    		int sum = 0;
    		for (int i = 0; i < arr.length; i++) {
    			sum += arr[i];
    		}
    		System.out.println(sum);
    		System.out.println("*******************");
    		int num = 1;
    		boolean flag = false;
    		for (int i = 0; i < arr.length; i++) {
    			if (arr[i] == num) {
    				flag = true;
    				break;
    			}
    				
    			}
    		
    		if (flag) {
    			System.out.println("存在");
    		} else {
    			System.out.println("不存在");
    		}
    	
    		
    	
    	}
    
    }
    

      

    public class jh_05_学员操作_显示商品名称2_1 {
    //	int [] arr={8,4,2,1,23,344,12};
    //	''""  ''''gad''
    	public static void main(String[] args) {
    		String []arr = {"xiaogege","dajiejie","xiaoayi"};
    		for (int i = 0; i < arr.length; i++) {
    			System.out.println(arr[i]);
    		}
    		System.out.println("**********************");
    		for (String str : arr) {
    			System.out.println(str);
    		}
    		System.out.println();
    		double []arr01={1.75,1.73,1.79};
    		for (int i = 0; i < arr01.length; i++) {
    			System.out.println(arr01[i]);
    		}
    		System.out.println("*********************");
    		for (double db : arr01) {
    			System.out.println(db);
    		}
    			
    	}
    
    }
    

      

    import java.util.Scanner;
    
    public class jh_06_学员操作_购物金额结算 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		// 长度为五的容器,存储金额。double
    		double []arr = new double[5];
    		for (int i = 0; i < arr.length; i++) {
    			System.out.println("请输入第"+ i +"个成绩");
    			arr[i] = sc.nextInt();
    		}
    		System.out.println("序号 \t成绩:");
    		// 罗列输入的数值:
    		for (int i = 0; i < arr.length; i++) {
    			System.out.println((1+i)+"\t"+arr[i]);
    		}
    		
    	
    	}
    
    }
    

      

    import java.util.Arrays;
    
    public class jh_07_数组排序2_1 {
    	public static void main(String[] args) {
    		
    //		Arrays类的sort()函数: 对数组进行升序排列
    		// 对象名.函数名()。sc.nextInt();
    		// 类名.函数名(); Arrays.sort(容器名称);
    		int [] arr = {2,5,4,3,1,6,9,8,7};
    		for(int i : arr) {
    			System.out.print(i+", ");
    		}
    		System.out.println();
    //		Arrays类的sort()函数
    		Arrays.sort(arr);
    		for(int i : arr) {
    			System.out.print(i+", ");
    		}
    		System.out.println();
    	}
    
    }
    

      

    public class jh_08_求容器最大值 {
    	public static void main(String[] args) {
    		/*
    		 * 1:把第一个元素。arr[0]默认成最大的。---参照物。
    		 * 2:后面的元素依次和参照物做比较。
    		 * 3:如果后面的元素比参照物大。就把
    		 * 后面的赋值给参照物。
    		 */
    		int [] arr = {2,5,4,3,1,6,9,8,7};
    		// 1:把第一个元素。默认成最大的
    //		int max = arr[0];
    //		
    //		for (int i = 1; i < arr.length; i++) {
    //			if(arr[i] > max) {
    //				// 把当前的元素赋值给max
    //				max = arr[i];
    //			}
    //		}
    //		System.out.println(max);
    		int min = arr[0];
    		
    		for (int i = 1; i < arr.length; i++) {
    			if(arr[i] < min) {
    				// 把当前的元素赋值给max
    				min = arr[i];
    			}
    		}
    		System.out.println(min);
    	}
    
    }
    

      

    public class jh_09_查找指定元素出现的位置 {
    	public static void main(String[] args) {
    		/*
    		 * 查找指定元素出现的位置
    		 * 3 --- index
    		 * 如果不存在。就用-1表示。
    		 */
    		int []arr = {2,5,4,3,1,6,9,8,7};
    		int index = getIndex(arr,19);
    		System.out.println(index);
    		
    //		指定元素
    //		int num = 19;
    //		int index = -1;
    //		// 1:依次取出每一个元素,并做比较
    //		for (int i = 0; i < arr.length; i++) {
    //			if(num == arr[i]) {
    //				index = i;// 当前i的值是不是就是index位置。
    //			}
    //		}
    //		System.out.println(index);
    //	}
    	
    	/*
    	 * 1:返回值类型。int 
    	 * 2:参数列表。int[] arr,int num
    	 */
    	}
    	public static int getIndex(int [] arr,int num) {
    		for (int i = 0; i < arr.length; i++) {
    			if(num == arr[i]) {
    				return i;
    			}
    		}
    		return - 1;
    
    	}
    
    }
    

      

    import java.util.Scanner;
    
    public class jh_10_学员操作求最低价格 {
    	private static int i;
    
    	public static void main(String[] args) {
    		Scanner sc =  new Scanner(System.in);
    		int [] arr = new int [4];
    		for (int i = 0; i < arr.length; i++) {
    			System.out.println("请输入值: ");
    			arr[i] = sc.nextInt();
    		}
    		int min = arr[0];
    		for (int i = 1; i < arr.length; i++) {
    			if (arr[i] < min) {
    				min = arr[i];
    			}
    		}
    		System.out.println(arr[i]);
    	}
    
    }
    

      

    import java.util.Arrays;  
    import java.util.Scanner;
    
    public class jh_11_插入算法 {
    	/*
    	 * 有一组学员的成绩{99,85,82,63, 60}, 将它们按升序排列。要增加一个学员的成绩, 将它插入成绩序列,并保持升序。
    	 */
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    //		有一组学员的成绩{99,85,82,63, 60},
    		int[] oldArray = { 99, 85, 82, 63, 60 };
    //		将它们按升序排列。
    		Arrays.sort(oldArray);
    		// 创建一个容器,长度是原数组长度加1;
    		int[] newArray = new int[oldArray.length + 1];
    		// 数组copy 调用对应的函数,或者简单写下。
    		for (int i = 0; i < oldArray.length; i++) {
    			newArray[i] = oldArray[i];
    		}
    		// 看下效果,迭代新容器
    		for (int i = 0; i < newArray.length; i++) {
    			System.out.println(newArray[i]);
    		}
    		System.out.println("*************************");
    
    		/*
    		 *1: 给出要插入的数值 num 
    *2: 找到要插入的位置。
    *3: 从要插入的位置依次向后挪元素。
    *4: 把num的值覆盖到index位置处
    *5: 如果插入的值比容器中最大的值还大,应该插入到最后。
    * 所以index的初始值默认给newArray.length-1; */ // 1:给出要插入的数值 num System.out.println("给出要插入的数值:");// 77 int num = sc.nextInt(); int index = newArray.length - 1; // 2:找到要插入的位置 for (int i = 0; i < newArray.length; i++) { if (newArray[i] > num) { // 记录当前位置 index = i; break; } } // 3:从要插入的位置依次向后挪元素。 // arr [8]= arr [7] // for(int i = index;i<newArray.length;i++) { //// 倒数第一个 = 倒数第二个 // newArray[newArray.length - 1- 0] = newArray[newArray.length - 1 - 1]; // // // // // } for (int i = newArray.length - 1; i > index; i--) { newArray[i - 0] = newArray[i - 1]; } // 看效果 for (int i = 0; i < newArray.length; i++) { System.out.println(newArray[i]); } System.out.println("************"); // 4:把num的值覆盖到index位置处 newArray[index] = num; // 看效果 for (int i = 0; i < newArray.length; i++) { System.out.println(newArray[i]); } } }

      

    public class jh_12_如何对变量ab的值进行交换 {
    	public static void main(String[] args) {
    		int a = 10;
    		int b = 8;
    		int temp;
    		temp = a;
    		a = b;
    		b = temp;
    		System.out.println(a);
    		System.out.println(b);
    	}
    
    }
    

      

    public class jh_13_冒泡排序 {
    	public static void main(String[] args) {
    		/*
    		 * 对数组中相邻的两个数进行比较, 
    		 * 把数组元素从头到尾比较一次后
    		 * 找到最大的那个值放到数组的末尾.
    		 */
    		int[] arr = { 54, 53, 12, 32, 56, 17 };
    		for (int j = 0; j < arr.length-1; j++) {
    			for (int i = 0; i < arr.length-1-j; i++) {
    				if (arr[i] > arr[i + 1]) {
    					int temp = arr[i];
    					arr[i] = arr[i + 1];
    					arr[i + 1] = temp;
    				}
    			}
    		}
    		for (int i : arr) {
    			System.out.println(i);
    		}
    	}
    
    }
    

      

    public class jh_14_选择排序 {
    	/*
    	 * int[] arr = 
    	 * { 54, 53, 12, 32, 56, 17 };
    	 */
    	public static void main(String[] args) {
    		int[] arr = { 54, 53, 12, 32, 56, 17 };
    		for (int i = 0; i < arr.length - 1; i++) {
    			for (int j = arr.length - 1; j > 0; j--) {
    				if (arr[j] < arr[j - 1]) {
    					int temp = arr[j];
    					arr[j] = arr[j - 1];
    					arr[j - 1] = temp;
    				}
    			}
    		}
    		for (int j : arr) {
    			System.out.println(j);
    		}
    
    	}
    
    }
    

      

    import java.util.Arrays;
    //import java.util.Scanner;
    
    public class jh_15_二分查找 {
    	public static void main(String[] args) {
    //		Scanner sc = new Scanner(System.in);
    		int[] arr = { 54, 53, 12, 32, 56, 17 };
    		Arrays.sort(arr);
    //      12,17,32,53,54,56
    
    		int num = 50;
    
    		int startIndex = 0;
    		int endIndex = arr.length - 1;
    		
    		for (;;) {
    			int midIndex = (startIndex + endIndex) / 2;
    			int midValue = arr[midIndex];
    
    			if (num > midValue) {
    				startIndex = midIndex + 1;
    			} else if (num < midValue) {
    				endIndex = midIndex - 1;
    			} else {
    				System.out.println("找到了");
    				break;
    			}
    			if (startIndex > endIndex) {
    				System.out.println("不存在");
    				break;
    			}
    
    		}
    
    	}
    
    }
    

      

    public class jh_16_二维数组的声明 {
    	public static void main(String[] args) {
    		int a;
    //		int [] arr;
    //		int arr[];
    		int [][] intArray;
    		double doubleArray[][];
    		String [] strArray[];
    		
    		
    	}
    
    }
    

      

    public class jh_17_二维数组的应用场景 {
    	public static void main(String[] args) {
    		// 学生成绩表.
    		int [] arr = new int [3];
    		int [][] Array = new int[3][3];
    		
    //		a[0]---
    //		b[1][2]
    		
    		
    		
    		
    		
    		
    		// [3]表示b里面有3个一维数组
    		// 长度。
    		
    		// {1,2,3,4,5,6};
    		
    		// {{1},{4,5,6},{7,8}};
    		
    		int [][] c = new int[3][5];
    		
    		int [][] d = new int[3][];
    		d[0] = new int[3];
    		d[1] = new int[4];
    		d[2] = new int[5];
    //		{{1,2,3},{4,5,6,7},{1,1,1,1,1}}
    		
    		int [][] e = new int [3][3];
    		e[0][0] = 55;		
    		e[0][1] = 55;		
    		e[0][2] = 55;	
    		
    		e[1][0] = 55;		
    		e[1][1] = 55;		
    		e[1][2] = 55;
    		
    		e[2][0] = 55;		
    		e[2][1] = 55;		
    		e[2][2] = 55;	
    		
    		for(int i = 0;i<3;i++) {
    			for(int j=0;j<3;j++) {
    				System.out.println(e[i][j]);
    			}
    		}
    		System.out.println(e[0][0]);
    		
    		System.out.println("***************");
    		
    		for (int[] is : e) {
    			for(int i :is) {
    				System.out.println(i);
    			}
    		}
    		
    	}
    
    }
    

      

    public class jh_18_二维数组的应用二 {
    	public static void main(String[] args) {
    		int [] a = {1,2,3,4,5,6};
    		System.out.println(a.length);
    		
    		int [][] arr =
    			{{1,2,3},{4,5,6},{7,8,9}};
    		//每一个小容器长度。
    		// 先拿到小容器。arr[i]
    		// 在取小容器长度。arr[i].length
    		System.out.println(arr.length);
    		
    		System.out.println(arr[1].length);
    		
    		
    	}
    
    }
    

      

    public class jh_19_循环输出二维数组的内容 {
    	public static void main(String[] args) {
    		int[][] arr =
    			{{1,2,3},{4,5},{7,8,9}};
    		for(int i = 0;i<arr.length;i++) {
    			for(int j =0;j<arr[i].length;j++) {
    				System.out.println(arr[i][j]);
    			}
    		}
    		
    		
    		
    		
    //		for( int [] i :arr) {
    //			for(int e :i) {
    //				System.out.println(e);
    //			}
    //		}
    		
    		
    		
    		/*
    		 * 1:先取出大容器里面的每一个小容器。
    		 * 2:再取出每一个小容器里面的元素。
    		 */
    		
    		
    	}
    
    }
    

      

    import java.util.Scanner;
    
    public class jh_20_二维数组编程练习 {
    	/*
    	 * 在一个二维数组中存放了三名学生的语文和 
    	 * 数学的成绩,从键盘输入三名学生的成绩存 
    	 * 储到二维数组中,分别求语文和数学的总 
    	 * 成绩及平均分并输出。
    	 */
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		/*
    		 * 任务
    		 * 1、定义一个三行两列的整型二维数组intArray
    		 * 2、从键盘输入学生成绩,要求输入顺序与效果图一致。
    		 * 3、求语文的总成绩和平均分
    		 * 4、求数学的总成绩和平均分
    		 */
    //		1、定义一个三行两列的整型二维数组intArray
    		int[][] intArray = new int[3][2];
    
    		for (int j = 0; j < intArray.length; j++) {
    			for (int i = 0; i < intArray[j].length; i++) {
    				if (i == 0) {
    					System.out.println("请输入第" + (j + 1) + "个学生的语文成绩");
    					intArray[j][i] = sc.nextInt();
    				} else {
    					System.out.println("请输入第" + (j + 1) + "个学生的数学成绩");
    					intArray[j][i] = sc.nextInt();
    				}
    
    			}
    		}
    
    		for (int[] is : intArray) {
    			for (int i : is) {
    				System.out.print(i + ", ");
    			}
    			System.out.println();
    		}
    		
    		// 求每个学生的总成绩
    		int chinese = 0;
    		int math = 0;
    		
    		for(int i = 0;i<intArray.length;i++) {
    			int sum = 0;
    			for(int j = 0;j<intArray[i].length;j++) {
    				sum += intArray[i][j];
    				// 判断
    //				if(j==0) {
    //					chinese += intArray[i][j];
    //				}else {
    //					math += intArray[i][j];
    //				}
    			}
    			System.out.println(sum);
    		}
    		
    		System.out.println(chinese);
    		System.out.println(math);
    //		intArray[0][0]
    //		intArray[0][1]
    
    	}
    
    }
    

      

  • 相关阅读:
    解释机器学习模型的一些方法(一)——数据可视化
    机器学习模型解释工具-Lime
    Hive SQL 语法学习与实践
    LeetCode 198. 打家劫舍(House Robber)LeetCode 213. 打家劫舍 II(House Robber II)
    LeetCode 148. 排序链表(Sort List)
    LeetCode 18. 四数之和(4Sum)
    LeetCode 12. 整数转罗马数字(Integer to Roman)
    LeetCode 31. 下一个排列(Next Permutation)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    论FPGA建模,与面向对象编程的相似性
  • 原文地址:https://www.cnblogs.com/weiamd/p/11170353.html
Copyright © 2011-2022 走看看