• Java题目集


    冒泡排序,从小到达排列

    ==分析:==数组 [15,21,20,35,10]

    第 1 轮排序: 目标把最大数放在最后
    第 1 次比较 [15,21,20,35,10]
    第 2 次比较 [15,21,20,35,10]
    第 3 次比较 [15,21,20,35,10]
    第 4 次比较 [15,21,20,10,35]

    第 2 轮排序: 目标把第二大数放在倒数第二位置
    第 1 次比较[15,21,20,10,35]
    第 2 次比较[15,20,21,10,35]
    第 3 次比较[15,20,10,21,35]

    第 3 轮排序: 目标把第 3 大数放在倒数第 3 位置
    第 1 次比较[15,20,10,21,35]
    第 2 次比较[15,10,20,21,35]

    第 3 轮排序: 目标把第 4 大数放在倒数第 4 位置
    第 1 次比较[10,15,20,21,35]

    // 冒泡排序,从小到达排列
    public class case9 {
    	public static void main(String[] args) {
    		int[] arr = { 15, 21, 20, 35, 10 };
    		int max = arr[0];
    		// 先把最大的数放在最右边
    		// 再把第二大的数放在倒数第二
    		// ......
    		for (int i = 0; i < arr.length - 1; i++) { // 5 个数,只用比较 4 次,所以 i < arr.length - 1; 
    			for (int j = 0; j < arr.length - i - 1; j++) {//每一轮比较都在减少
    				if (arr[j] > arr[j+1]) { // 如果前一个比后一个数大就交换位置 
    					int temp = arr[j];
    					arr[j] = arr[j+1];
    					arr[j+1] = temp;
    				}
    			}
    		}
    		for (int i = 0; i < arr.length; i++) {
    			System.out.print(arr[i] + " ");
    		}
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    在这里插入图片描述

    查找,某一个字符串

    比较字符串比较 equals, 如果要找到名字就是当前元素

    import java.util.Scanner;
    // 查找某一个字符串
    public class case10 {
    	public static void main(String[] args) {
    		String[] name = { "云云", "豆酱", "无敌" };
    		Scanner myScanner = new Scanner(System.in);
    		System.out.print("请输入名字:");
    		String findName = myScanner.next();
    		int index = -1; // 用来判断没有找到是输出
    		for (int i = 0; i < name.length; i++) {
    			// 比较 字符串比较 equals, 如果要找到名字就是当前元素
    			if (findName.equals(name[i])) {
    				System.out.println("恭喜你找到 " + findName);
    				System.out.println("下标为= " + i);
    				// 把 i 保存到 index
    				index = i;
    				break;// 退出
    			}
    		}
    		if (index == -1) { // 没有找到
    			System.out.println("sorry ,没有找到 " + findName);
    		}
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    在这里插入图片描述

    输出如下数据

    0 0 0 0 0 0
    0 0 1 0 0 0
    0 2 0 3 0 0
    0 0 0 0 0 0

    public class case1 {
    	public static void main(String[] args) {
    		int[][] arr = { { 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 0, 0, 0 }, { 0, 2, 0, 3, 0, 0 }, { 0, 0, 0, 0, 0, 0 }, };
    		for (int i = 0; i < arr.length; i++) {
    			for (int j = 0; j < arr[i].length; j++) {// arr[i] 二维数组元素的个数 arr[i].length 得到对应的每一个元素的个数
    				System.out.print(arr[i][j]);
    			}
    			System.out.print("\n");
    		}
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    输出杨辉三角

    键盘输入一个整数n,输出n层杨辉三角形。
    举例:输入 6
    输出
    1
    1 1
    1 2 1 2 = 1+1
    1 3 3 1 3 = 1+2; 3 = 2+1
    1 4 6 4 1 4 = 1+3; 6 = 3+3; 4 = 3+1
    1 5 10 10 5 1 5 = 1+4;10 = 4+6;10=6+4;5=4+1

    import java.util.Scanner;
    
    public class case2 {
    	public static void main(String[] args) {
    		Scanner myScanner = new Scanner(System.in);
    		int n = myScanner.nextInt();//键盘输入
    		int[][] yangHui = new int[n][];
    		for (int i = 0; i < yangHui.length; i++) {
    			yangHui[i] = new int[i + 1]; // 给二维数组里面的一维数组开辟空间
    		}
    		for (int i = 0; i < yangHui.length; i++) {
    			for (int j = 0; j < yangHui[i].length; j++) {
    				if (j == 0 || j == yangHui[i].length - 1) { // 输出第一个数和最后一个数为1
    					yangHui[i][j] = 1;
    				} else { // 中间的数等于上面2个数之和
    					yangHui[i][j] = yangHui[i - 1][j] + yangHui[i - 1][j - 1];
    				}
    			}
    		}
    		for (int i = 0; i < yangHui.length; i++) {//遍历输出
    			for (int j = 0; j < yangHui[i].length; j++) {
    				System.out.print(yangHui[i][j] + "\t"); // \t 用于对齐
    			}
    			System.out.print("\n");
    		}
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    在这里插入图片描述

  • 相关阅读:
    C#有关里氏替换原则的经典问题答疑
    6.25AtCoderABC257E - Addition and Multiplication 2题解
    The babbage industrial policy forum
    【Python基础】多值参数 || 计算多个数字的和 || 元组和字典的拆包 || 面向过程开发 || 面向对象基本概念:类和对象的关系、大驼峰命名法
    R - Sonya and Hotels
    Usenix Security 2022 FIXREVERTER A Realistic Bug Injection Methodology for
    带你玩转序列模型之NLP与词嵌入(二)
    HTML 表格
    redis集群理论和搭建
    【LeetCode】Day125-最接近的三数之和 & 电话号码的字母组合
  • 原文地址:https://blog.csdn.net/qq_53661628/article/details/127988338