---恢复内容开始---
1 查找10000 (某个数以内的所有质数)
public static void main(String[] args) { int count = 0; for(int i = 2;i<100000;i++){ boolean flag = true; for(int j = 2;j<=Math.sqrt(i);j++){ if(i%j==0){ flag = false; break; } } if(true==flag){ count++; } //flag = true; } System.out.println(count); }
2 使用二维数组编写并打印杨辉三角
public static void main(String[] args) { // 1声明数组 int [][] yanghui = new int [10][]; //2 给数组赋值 for(int i = 0;i<yanghui.length;i++){ yanghui[i] = new int [i+1]; // 2.1 给首末元素赋值 yanghui[i][0] = yanghui[i][i] = 1; // 2.2 给每行的非首末元素赋值 for(int j = 1;j<yanghui[i].length-1;j++){ yanghui[i][j] = yanghui[i-1][j-1]+yanghui[i-1][j]; } } //3 遍历二维数组 for(int i = 0;i<yanghui.length;i++){ for(int j = 0;j<i;j++){ System.out.print(yanghui[i][j]+" "); } System.out.println(); } }
3。数组的复制,反转,查找
1 数组的复制使用 for 循环复制即可
2 数组的反转操作
public static void main(String[] args) { //数组的反转 String [] str1 = new String []{"aa","bb","cc","dd","ee","ff"}; for(int i = 0;i<str1.length/2;i++){ String temp = str1[i]; str1[i] = str1[str1.length-i-1]; str1[str1.length-i-1] = temp; } // 1遍历反转后的数组 for(int i = 0;i<str1.length;i++){ System.out.println(str1[i]); } }
3 数组的查找(线性查找)
从已知的数组中查找题目给定的数组,如果找到返回下标识,没有则打印没有信息
思路 ,遍历已知的数组,使用 equals()方法,利用标示,如果找到相同的数字,
则不再往下进行查找 使用 break终止循环。
4 二分法查找,前提是查找的数组必须是有序的
public static void main(String[] args) { // 二分查找。前提是所要查找的数组必须有序 int [] arr2 = new int []{-98,-34,2,34,54,66,79,105,210,333}; int dest1 = -34; // 目标数字 int head = 0;// 初始的首索引 int end = arr2.length-1;// 初始的末索引 boolean isFlag = true; while(head<=end){ int middle = (head+end)/2; if(dest1 == arr2[middle]){ System.out.println("目标指定元素的位置为。。"+middle); isFlag = false; break; }else if(arr2[middle]>dest1){ end = middle-1; }else{// arr2[middle]<dest1 head = middle+1; } } if(isFlag){ System.out.println("没有找到...."); } }
5 算法的5大特征
1 输入,
2 输出
3 有穷行(有限性)
4 确定性(明确性)
5 可行性
6 冒泡排序的实现
public static void main(String[] args) { // 冒泡排序 int arr []= new int []{43,34,56,75,24,98,134}; 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 k = 0;k<arr.length;k++){ System.out.println(arr[k]); } }
---恢复内容结束---
---恢复内容开始---
1 查找10000 (某个数以内的所有质数)
public static void main(String[] args) { int count = 0; for(int i = 2;i<100000;i++){ boolean flag = true; for(int j = 2;j<=Math.sqrt(i);j++){ if(i%j==0){ flag = false; break; } } if(true==flag){ count++; } //flag = true; } System.out.println(count); }
2 使用二维数组编写并打印杨辉三角
public static void main(String[] args) { // 1声明数组 int [][] yanghui = new int [10][]; //2 给数组赋值 for(int i = 0;i<yanghui.length;i++){ yanghui[i] = new int [i+1]; // 2.1 给首末元素赋值 yanghui[i][0] = yanghui[i][i] = 1; // 2.2 给每行的非首末元素赋值 for(int j = 1;j<yanghui[i].length-1;j++){ yanghui[i][j] = yanghui[i-1][j-1]+yanghui[i-1][j]; } } //3 遍历二维数组 for(int i = 0;i<yanghui.length;i++){ for(int j = 0;j<i;j++){ System.out.print(yanghui[i][j]+" "); } System.out.println(); } }
3。数组的复制,反转,查找
1 数组的复制使用 for 循环复制即可
2 数组的反转操作
public static void main(String[] args) { //数组的反转 String [] str1 = new String []{"aa","bb","cc","dd","ee","ff"}; for(int i = 0;i<str1.length/2;i++){ String temp = str1[i]; str1[i] = str1[str1.length-i-1]; str1[str1.length-i-1] = temp; } // 1遍历反转后的数组 for(int i = 0;i<str1.length;i++){ System.out.println(str1[i]); } }
3 数组的查找(线性查找)
从已知的数组中查找题目给定的数组,如果找到返回下标识,没有则打印没有信息
思路 ,遍历已知的数组,使用 equals()方法,利用标示,如果找到相同的数字,
则不再往下进行查找 使用 break终止循环。
4 二分法查找,前提是查找的数组必须是有序的
public static void main(String[] args) { // 二分查找。前提是所要查找的数组必须有序 int [] arr2 = new int []{-98,-34,2,34,54,66,79,105,210,333}; int dest1 = -34; // 目标数字 int head = 0;// 初始的首索引 int end = arr2.length-1;// 初始的末索引 boolean isFlag = true; while(head<=end){ int middle = (head+end)/2; if(dest1 == arr2[middle]){ System.out.println("目标指定元素的位置为。。"+middle); isFlag = false; break; }else if(arr2[middle]>dest1){ end = middle-1; }else{// arr2[middle]<dest1 head = middle+1; } } if(isFlag){ System.out.println("没有找到...."); } }
5 算法的5大特征
1 输入,
2 输出
3 有穷行(有限性)
4 确定性(明确性)
5 可行性
6 冒泡排序的实现
public static void main(String[] args) { // 冒泡排序 int arr []= new int []{43,34,56,75,24,98,134}; 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 k = 0;k<arr.length;k++){ System.out.println(arr[k]); } }
---恢复内容结束---