今天在分享一些小习题
//方法的调用
public class Fangfa {
public static void main(String[] args) {
// 调用Bijiao函数
System.out.println(Bijiao(1, 6, 9));
// 调用Bijiao函数
System.out.println(Jia(5));
// 调用Jiujiu函数
Jiujiu(9);
// 调用jieChen函数
System.out.println(jieChen(5));
//调用递归函数
System.out.println(Di(5));
}
// 三个数比大小
public static int Bijiao(int a, int b, int c) {
int max = 0;
max = a > b ? a : b;
max = max > c ? max : c;
return max;
}
// 累计求和
public static int Jia(int a) {
int sum = 0;
for (int i = 0; i <= a; i++) {
sum = sum + i;
}
return sum;
}
// 打因九九乘法表
public static void Jiujiu(int a) {
for (int i = 1; i <= a; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j * i) + " ");
}
System.out.println();
}
}
// 求阶乘
public static int jieChen(int n) {
if (n <= 0) {
return -1;
}
int m = 1;
for (int i = 1; i <= n; i++) {
m = m * i;
}
return m;
}
// 递归
public static int Di(int a) {
if (a == 1) {
return 1;
}
int m = a * Di(a - 1);
return m;
}
}
public class Shuzu {
public static void main(String[] args) {
int[] arr = { 3, 2, 1, 4, 1, 9, 5, 3, 7 };
int[] arr1 = { 9, 3, 5, 1, 6, 8, 3, 6, 8 };
int[] arr2 = { 1, 2, 3, 4, 5, 6 };
// fuZhi();
System.out.println(Max(arr));
maoPao(arr);
System.out.println("==============");
xuanZe(arr1);
System.out.println("==============");
zheBan(arr2, 9);
}
// 遍历赋值1-50
public static void fuZhi() {
int[] arr = new int[50];
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
System.out.println(Arrays.toString(arr));
}
// 求数组中最大值
public static int Max(int[] arr) {
if (arr == null || arr.length == 0) {
return -1; // 先判断数组是否存在
}
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (max > arr[i]) {
return max;
} else {
max = arr[i];
}
}
return max;
}
// 冒泡排序
public static int[] maoPao(int[] arr) {
if (arr == null || arr.length == 0) {
return null;
}
int max = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
max = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = max;
}
}
System.out.println(Arrays.toString(arr));
}
return arr;
}
// 选择排序
public static void xuanZe(int[] arr) {
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
}
// 折半查找
public static void zheBan(int[] arr, int a) {
int min = 0;// 最小区间
int max = arr.length - 1;// 最大区间
int index = -1; // 设置索引,-1为没有这个数
while (min <= max) {
int mid = (min + max) / 2;
if (arr[mid] == a) {
index = mid;
break;
} else if (arr[mid] > a) {
max = max - 1;
} else {
min = min + 1;
}
}
System.out.println(index);
}
}
public class Twoshuzu {
public static void main(String[] args) {
zhuanHua((byte) 100);
outTwo(5);
System.out.println();
int[] arr1 = { 1, 2, 3, 4 };
int[] arr2 = new int[7];
arraysCopy(arr1, arr2);
System.out.println("============");
int[][]arr={{1,2,3},{4,5,6},{7,8,9}};
out2DArr(arr);
System.out.println("==============");
rotate2DArr(arr);
out2DArr(arr);
}
// 一个字节byte转换成0~255之间的整数(正数),将符号位视为数字位,而不是符号位.
public static int zhuanHua(byte j) {
int i = j & 0xff; // 与16进制进行与运算
System.out.println(i);
return i;
}
// 将整数转化为2进制数
public static void outTwo(int a) {
for (int i = 31; i >= 0; i--) {
System.out.print((a >> i) & 0x1);
}
}
// 三维数组的横向打印
public static void out3D(int[][][] arr) {
// 循环行数
for (int j = 0; j < arr[0].length; j++) {
// 输出每一行
for (int i = 0; i < arr.length; i++) {
for (int k = 0; k < arr[i][j].length; k++) {
System.out.println(arr[i][j][k] + " ");
}
System.out.println(" ");
}
System.out.println();
}
}
public static void arraysCopy(int[] arr1, int[] arr2) {
// 先判断两个数组的长度
if (arr1.length >= arr2.length) {
for (int i = 0; i < arr2.length; i++) {
// for循环大的数组直接赋值小的数组
arr2[i] = arr1[i];
}
} else {
for (int i = 0; i < arr2.length; i++) {
arr2[i] = arr1[i % (arr1.length)];
}
}
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " ");
}
}
// 矩阵转换
public static void rotate2DArr(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < i; j++) {
int temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
// 矩阵转换
public static void out2DArr(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}