【01算法类】
1.1 使用冒泡排序算法对数组a={9, 7, 4, 6, 3, 1,10},按由小到大的规律排序数组中的元素。
public class Test1 {
// 主方法入口
public static void main(String[] args){
// 初始化一个整型数组a,包含一些整数
int[] a = {
9,7,4,6,3,1,10};
// 使用嵌套循环对数组进行冒泡排序
for(int i = 0;i<a.length-1;i++){
// 外层循环控制排序的轮数
for(int j = 0;j<a.length-1-i;j++){
// 内层循环进行相邻元素的比较和交换
if(a[j] > a[j+1]){
// 如果当前元素大于下一个元素,则交换它们的位置
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
// 遍历排序后的数组并打印每个元素
for(int element : a){
System.out.print(element+" ");
}
}
}
1.2 从键盘输入一个4位整数n,判断n是否是回文数。(回文数是指,将其数字反转排列的数与其本身相同。例如:1221、3443都是回文数。)
import java.util.Scanner; // 导入Scanner类,用于获取用户输入
public class Test2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象,用于从标准输入流读取数据
int n = scanner.nextInt(); // 读取用户输入的整数
String str = n + ""; // 将整数转换为字符串,以便检查是否为回文
int left = 0; // 初始化左指针
int right = str.length() - 1; // 初始化右指针,指向字符串的最后一个字符
boolean flag = true; // 假设当前输入的是回文串,flag为true
while (left < right) {
// 当左指针小于右指针时,继续循环
if (str.charAt(left) != str.charAt(right)) {
// 如果左右指针所指的字符不相等
flag = false; // 说明不是回文串,flag设置为false
break; // 跳出循环
}
left++; // 左指针向右移动
right--; // 右指针向左移动
}
System.out.println(flag