2022.1.16——Java学习
1.数组元素的赋值
杨辉三角、回形数等
package array;
//杨辉三角
public class ArrayTest7 {
public static void main(String[] args) {
//1.声明并初始化二维数组
int[][] arr = new int[10][];
//2.给数组元素赋值
for(int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1];
//每行首尾项值为1
// arr[i][0] = arr[i][i] = 1;
for(int j = 0; j < arr[i].length; j++) {
if(j == 0 || j == i) {
arr[i][j] = 1;
}else {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
回形数(未探索)
package array;
//回形数
public class ArrayTest {
public static void main(String[] args) {
}
}
随机不重复打印数据并存在数组内
package array;
//笔试题:
/*
创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值,同时,要求元素的值各不相同
*/
public class ArrayTest8 {
public static void main(String[] args) {
//方式一:
//1.声明并初始化一维数组
// int[] arr = new int[6];
// //2.给数组元素赋值
// for(int i = 0; i < arr.length; i++) {
// //给数组赋值
// arr[i] = (int)(Math.random() * 30) + 1;
//
// boolean flag = false;
// while(flag) {
// for(int j = 0; j < i; j++) {
// if(arr[i] == arr[j]) {
// flag = true;
// break;
// }
// }
// if(flag) {
// arr[i] = (int)(Math.random() * 30) + 1;
// flag = false;
// continue;
// }
// break;
// }
// }
// for(int i = 0; i < arr.length; i++) {
// System.out.print(arr[i] + " ");
// }
//方式二:
int[] arr = new int[6];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random()*30) + 1;
for(int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i--;//一旦发现下一位元素与前面任意元素相同,立即返回重新生成下一位元素,直到与前面元素不同为止
break;
}
}
}
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
2.求数值型数组中元素的最大值、最小值、平均数、总和等
3.数组的赋值、反转、查找(线性查找、二分法查找)
4.数组元素的排序算法