分享一些小习题

今天在分享一些小习题
//方法的调用
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();
	}
}

}

猜你喜欢

转载自blog.csdn.net/weixin_45116848/article/details/91646922
今日推荐