首页 > 编程语言 >JAVA数组练习代码

JAVA数组练习代码

时间:2024-02-02 17:44:11浏览次数:19  
标签:arr JAVA int 练习 len ++ length yang 数组

一维数组的有序插入

思路

image
image

代码

点击查看代码
import java.util.Scanner;

/**
 * @author LittleBear
 * @date 2024-02-02 - 16:57
 */
public class seqInsertion {
    public static void main(String[] args) {
        System.out.println("please input your num:");
        Scanner myScanner = new Scanner(System.in);
        int insertNum = myScanner.nextInt();

        int len = 10;
        int arr[] = new int[len];
        for (int i = 0; i < len; i++) {
            arr[i] = (int)(Math.random()*100+1);
//            System.out.println(arr[i]);
        }
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 0; j < arr.length-1-i; j++) {
                if(arr[j] > arr[j+1]){
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
       

        int index = -1;
        for (int i = 0; i < arr.length; i++) {
            if (insertNum <= arr[i]){
                index = i;
                break;
            }
        }
        if (index == -1){
            index = arr.length;
        }
        int[] newArr = new int[arr.length+1];
        for (int i = 0, j = 0; i < newArr.length; i++) {
            if (i != index){
                newArr[i] = arr[j];
                j++;
            }
            else{
                newArr[i] = insertNum;
            }
        }
        arr = newArr;

        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " " );
        }

    }
}

杨辉三角(二维数组)

思路

image
image

代码

点击查看代码
/**
 * @author LittleBear
 * @date 2024-02-02 - 14:50
 */
public class yanghui {
    public static void main(String[] args) {
        int[][] yang = new int[12][];
        for (int i = 0; i < yang.length; i++) {
            yang[i] = new int[i+1];//给每一个一维数组开辟空间

            for (int j = 0; j < yang[i].length; j++) {
                if(j == 0 || j== yang[i].length - 1){//给每一行的第一个和最后一个元素赋值
                    yang[i][j] = 1;
                }
                else{//中间元素赋值
                    yang[i][j] = yang[i-1][j-1] + yang[i-1][j];
                }
            }
        }

        for (int i = 0; i < yang.length; i++) {
            for (int j = 0; j < yang[i].length; j++) {
                System.out.print(yang[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

冒泡排序(一维数组)

image

代码

点击查看代码
/**
 * @author LittleBear
 * @date 2024-02-02 - 14:49
 */
public class sort {
    public static void main(String[] args) {
        int len = 10;
        int[] arr = new int[10];
        for (int i = 0; i < len; i++) {
            arr[i] = (int)(Math.random()*100)+1;
//            System.out.println(arr[i]);
        }

        for (int i = 0; i < len -1; i++) {
            for (int j = 0; j < len - i -1; j++) {
                if(arr[j] > arr[j+1]){
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }

        for (int i = 0; i < len; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

标签:arr,JAVA,int,练习,len,++,length,yang,数组
From: https://www.cnblogs.com/xxm163/p/18003592

相关文章

  • java - 判断时间范围区间
    JSONObjectrespObj=newJSONObject(s);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");StringstartTimeStr="2024-01-01";StringendTimeStr="2024-01-31";DatestartTimDate=sdf.parse(startTimeStr);//strin......
  • Java 中的泛型机制
    泛型JDK5.0之后推出的新特性:泛型泛型这种语法机制,只在程序编译阶段起作用,只给编译器参考的(运行阶段没用)使用泛型的好处:集合中存储的元素统一了从集合中取出来的元素类型是泛型指定的类型,不需要进行大量的“向下转型”泛型的缺点:集合中的元素缺乏多样性importjava.util.Ar......
  • Java 中的HashSet 和 TreeSet
    HashSetHashSet集合:无序不可重复方法HashSet集合的元素实际上是放到HashMap集合的Key中importjava.util.HashSet;importjava.util.Set;/**HashSet集合:无序不可重复**/publicclassHashSetTest{publicstaticvoidmain(String[]args){//演示一......
  • JAVA的一些冷门知识
    1、@Size可以用来校验数组长度。2、构造代码块,在构造函数之前被调用,静态构造代码块,只被调用一次,有点类似C#的静态构造函数。java中的四种代码块_java代码块的分类-CSDN博客3、匿名内部类是Java编程语言中一种特殊的类,它没有显式地定义类名,而是在创建对象时通过传递实现了某个......
  • JAVA二维数组
    二维数组介绍二位数组的每个元素都是一维数组二维数组在内存中的形式动态初始化1动态初始化2动态初始化3(列数不确定)静态初始化二维数组使用细节和注意事项......
  • 双指针秒杀七道数组题目
    删除有序数组中的重复项简单解释一下什么是原地修改:如果不是原地修改的话,我们直接new一个int[]数组,把去重之后的元素放进这个新数组中,然后返回这个新数组即可。但是现在题目让你原地删除,不允许new新数组,只能在原数组上操作,然后返回一个长度,这样就可以通过返回的长度和原......
  • Java泛型
    参考:磊叔的技术博客 : 聊一聊-JAVA泛型中的通配符T,E,K,V,?tutorialspoint: Java-Generics Java-泛型泛型的好处在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参......
  • c++结构体数组sort排序出错?(关于sort排序comp比较器的严格弱排序性质)
    在sort函数比较的时候,它会严格弱排序,比较a是否>=b,然后两个对象会进行交换,重新比较一遍,相当于这次比较的是b是否>=aa>=b?满足:trueb<=a?满足:true这样就出现了一个冲突,不管是a>=b还是b>=a都会返回true的情况,我们都知道sort中只要comp返回true,两个元素就会交换一次......
  • JAVA一维数组的赋值,拷贝,反转,扩容
    赋值(引用传递)拷贝反转扩容......
  • java中锁分类
    1.可重入锁和不可重入锁可以对临界区资源重复加锁,如synchronized、ReentrantLock2.公平锁和非公平锁FIFO,如果对⼀个锁来说,先对锁获取请求的线程⼀定会先被满⾜,后对锁获取请求的线程后被满⾜,那这个锁就是公平的。反之,那就是不公平的。ReentranLock支持公平锁和非公平锁,默认非公......