java基础练习题

标签: java基础练习题

1.在数组里面第一个元素和最后一个元素互换位置 

//交换之前
int[] score = {12, 42, 32, 1, 34, 53, 10};
int temp = score[0];
score[0] = score[score.length - 1];
score[score.length - 1] = temp;
//交换之后
for(int i = 0; i < score.length; i++){
    System.out.print(score[i] + "\t");
}

 

 

1.创建一个数组用来存储1-100之间的奇数

  public static void main(String[] args) {
        //1-100之间的奇数
        int[] num = new int[50]; //奇数
        int a = 0;
        for (int j = 0; j < 100; j++) {
            if (j % 2 == 1) {
                num[a] = j;
                a++;
            }
        }
        System.out.println(Arrays.toString(num));

    }

 2.给定两个数组a{1, 2, 3}b{4, 5, 6}将两个数组内的元素对应位置互换

 public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {4, 5, 6};
        int i;
        for (i = 0; i < 2; i++) {
            int temp = 0;
            temp = a[i];
            a[i] = b[i];
            b[i] = temp;
        }
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.toString(b));
    }

 3.给定一-个数组a{1, 2, 3, 4, 5,6}将数组中元素头尾互换位置

public static void main(String[] args) {
        // 交换之前
        int[] a = {1, 2, 3, 4, 5, 6};
        int temp = a[0];
        a[0] = a[a.length - 1];
        a[a.length - 1] = temp;
        // 数组首尾交换
        System.out.println(Arrays.toString(a));

    }

 4.计算数组中所有元素的平均值

 public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5, 6};
        int count = 0; //初始化
        double average = 0.0;
        for (int i = 0; i < a.length; i++) {
            count += a[i];
            average = count / a.length;
        }
        System.out.println("数组中所有元素的平均值:" + average);
    }

5.合并两个数组

 public static void main(String[] args) {
        int[] a = {1, 2};
        int[] b = new int[a.length];
        System.arraycopy(a, 0, b, 0, a.length);
        System.out.println(Arrays.toString(b));
//=======================================================
        // 通过API方法
        int[] i = {1, 2};
        int[] n = {10, 12, 13, 14};
        int[] s = new int[i.length + n.length];
        System.arraycopy(i, 0, s, 0, i.length);
        System.arraycopy(n, 0, s, i.length, n.length);
        System.out.println(Arrays.toString(s));
    }

  6.按照数组中最大值,从最大值位置拆分成两个数组

    public static void main(String[] args) {
        int max = 0;
        int[] array = {2, 1, 3, 9, 5, 6, 7, 0};

        int i; //数组索引计数器
        int a = 0; //计数下标
        for (i = 0; i < array.length; i++) {
            // 判断最大值
            if (array[i] > max) {
                max = array[i];
                a = i;
            }
        }
        //存放下标的数组
        int[] aa = new int[a];
        System.out.println(a);
        System.out.println(max);

        //存放最大数左边的数据的数组
        int[] left = new int[a];
        System.arraycopy(array, 0, left, 0, a);
        System.out.println(Arrays.toString(left));

        //存放数组最大值右边的数据的数组
        int[] right = new int[array.length - a];
        System.arraycopy(array, a, right, 0, array.length - a);
        System.out.println(Arrays.toString(right));
    }

   7.去掉数组中的某一个元素, 如数组中所有为0的数组,或在1到3之间的数组

 public static void main(String[] args) {
        // 定义一个数组
        int[] a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        //新建一个数组
        int[] b = new int[a.length];
        int c = 0;
        for (int i = 0; i < a.length; i++) {
            if (i > 3) {
                b[c] = i;
                c++;
            }

        }
        System.out.println(Arrays.toString(b));
    }

8.创建一一个数组存储1-100之间的质数

public class demo08 {

    //    //判断能否被整除,质数是只能被1和自身整除
    public static boolean Prime(int num) {
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        int count = 0; //初始化
        //判断是否是质数
        for (int j = 2; j <= 100; j++) {
            if (Prime(j)) {
                System.out.print(j + " ");
                count++;
            }

        }


    }
}

九九乘法表

 public static void main(String[] args) {

        // 乘法表
        int row; //定义行
        int rol;//定义列
        int count;
        for(row=1;row<=9;row++){
            for (rol=1;rol<=row;rol++){
                count=row*rol;
                System.out.print(rol+"*"+row+"="+count+" ");
            }
            System.out.println();
        }
    }

 等边三角形

public static void main(String[] args) {

        //外层循环控制行
        for (int i = 1; i < 5; i++) {


            // 打印空格
            for (int k = 3; k >= i; k--) {
                System.out.print(" ");
            }
            // 内层循环控制**
            for (int j = 0; j < 2 * i - 1; j++) {
                System.out.print("*");

            }


            System.out.println();
        }

    }

 等边三角形

 

 public static void main(String[] args) {

        //dandan();
        drawNo();
    }

    private static void drawNo() {
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4 - i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= i + 1; k++) {
                System.out.print(k);
            }
            for (int k = i; k >= 1; k--) {
                System.out.print(k);
            }
            System.out.println();
        }
    }

文件的加密,解密操作 

public class FileEncAndDec1 {


    private static final int numOfEncAndDec = 0x99; //加密解密秘钥
    private static int dataOfFile = 0; //文件字节内容

    public static void main(String[] args) {

        File srcFile = new File("桌面.jpg"); //初始文件
        File encFile = new File("encFile.tif"); //加密文件
        File decFile = new File("decFile.bmp"); //解密文件

        try {
            EncFile(srcFile, encFile); //加密操作
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //加密操作
    private static void EncFile(File srcFile, File encFile) throws Exception {
        if (!srcFile.exists()) {
            System.out.println("source file not exixt");
            return;
        }

        if (!encFile.exists()) {
            System.out.println("encrypt file created");
            encFile.createNewFile();
        }
        InputStream fis = new FileInputStream(srcFile);
        OutputStream fos = new FileOutputStream(encFile);

        while ((dataOfFile = fis.read()) > -1) {
            fos.write(dataOfFile ^ numOfEncAndDec);
        }


        fis.close();
        fos.flush();
        fos.close();
    }

//解密操作

    private static void DecFile(File encFile, File decFile) throws Exception {
        if (!encFile.exists()) {
            System.out.println("encrypt file not exixt");
            return;
        }

        if (!decFile.exists()) {
            System.out.println("decrypt file created");
            decFile.createNewFile();
        }

        InputStream fis = new FileInputStream(encFile);
        OutputStream fos = new FileOutputStream(decFile);

        while ((dataOfFile = fis.read()) > -1) {
            fos.write(dataOfFile ^ numOfEncAndDec);
        }

        fis.close();
        fos.flush();
        fos.close();
    }

}

效果图: 

 

//别人的代码

public class FlieEncAndDec {

    private final int numEncAndDec = 0x99;//加密解密秘钥

    private int dataOfFile = 0; //文件字节内容

    /**
     * 加密
     */
    @Test
    public void EncFile() {
        //创建初始文件路径
        File srcFile = new File("E:" + File.separator + "2.jpg");
        //创建加密文件路径
        File encFile = new File("E:" + File.separator + "3.jpg");

        try {

            if (!srcFile.exists()) {
                System.out.println("source file not exist");
                return;
            }
            if (!encFile.exists()) {
                encFile.createNewFile();
            }
            InputStream fis = new FileInputStream(srcFile);
            OutputStream fos = new FileOutputStream(encFile);
            while ((dataOfFile = fis.read()) > -1) {
                fos.write(dataOfFile ^ numEncAndDec);
            }
            fis.close();
            fos.flush();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {

        }

    }

    /**
     * 解密
     */
    @Test
    public void DecFile() {
//        创建源文件路径
        File encFile = new File("E:" + File.separator + "3.jpg");
//        创建目标路径
        File decFile = new File("E:" + File.separator + "4.jpg");

        if (!encFile.exists()) {
            System.out.println("encFile file not exist");
            return;
        }
        if (!decFile.exists()) {
            try {
                decFile.createNewFile();
                //创建输入流,输出流
                InputStream fis = new FileInputStream(encFile);

                OutputStream fos = new FileOutputStream(decFile);
                while ((dataOfFile = fis.read()) > -1) {
                    fos.write(dataOfFile ^ numEncAndDec);
                }
                fis.close();
                fos.flush();
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}

模拟换座位

 public static void main(String[] args) {
        int[][] array = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};

        Scanner scanner = new Scanner(System.in);
        System.out.println("查看第几周的座位:");
        int index = scanner.nextInt();

//        int[][] temp = new int[array.length][4];

//        for (int i = 0; i < 4; i++) {
////           temp[][]=array[0][0];
////            System.out.println(array[index][i]);
//        }

        //控制周数
        for (int i = 0; i < index - 1; i++) {
            //  二维数组长度 array[0].length
            int[] temp = new int[array[0].length];
            // 一维数组的长度 array.length
            for (int j = 0; j < array.length; j++) {
                //当一维数组的下标等于0时,取出第一个一维数组
                if (j == 0) {
                    temp = array[0];
                }

                if (j < array.length - 1) {
                    array[j] = array[j + 1];
                } else {
                    //当循环到最后一个数组的下标的时候,把第一个一维数组赋值给最后一个数组下标
                    array[j] = temp;
                }
                //当循环到最后一个数组的时候,打印输出
                if (j == array.length - 1) {
                    for (int[] ints : array) {
                        for (int anInt : ints) {
                            System.out.print(anInt + "\t");
                        }
                        System.out.println("----------------------------------------");
                    }
                }
            }

        }
    }

遍历不规则二维数组

public class array01 {
    public static void main(String[] args) {
        int[][] a = {{1, 2}, {1, 3, 4}, {2, 3, 4, 5}};
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }
    }
}

数组中的最大值,最小值

public class array02 {
    public static void main(String[] args) {

        //数组中元素与默认的比较,如果比默认的大,就用数组元素作为默认值在进行比较
        //定义一个数组
        int[] array = {2, 1, 3, 19, 5, 6, 7};
        //默认第一个为最大值
        int max = array[0];
        //默认第一个为最小值
        int min = array[0];

        for (int i = 0; i < array.length; i++) {
            if (array[i] > max) {
                max = array[i];

            } else if (array[i] < min) {
                min = array[i];

            }
        }
        System.out.println("最大值为:" + max);
        System.out.println("最小值为:" + min);
    }
}

 

版权声明:本文为daralisdan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/daralisdan/article/details/103050115

智能推荐

Hibernate学习总结(一)

一、Hibernate简介 一个持久层的ORM框架。ORM:Object Relational Mapping(对象关系映射)。指的是将一个Java中的对象与关系型数据库中的表建立一种映射关系,从而操作对象就可以操作数据库中的表。 二、Hibernate入门 1、创建一个项目,引入jar包 hibernate用到的jar包 2、创建表 3、创建实体类 4、创建映射(*****) 映射需要通过XML...

Linux系统NFS

文章目录 1. nfs简介 1.1 nfs特点 1.2 使用nfs的好处 1.3 nfs的体系组成 1.4 nfs的应用场景 2. nfs工作机制 2.1 RPC 2.2 NIS 2.3 nfs工作机制 3. exports文件的格式 4. nfs管理 5. 作业 5.1手动搭建一个nfs服务器 5.1.1开放/nfs/shared目录,供所有用户查阅资料 5.1.2 开放/nfs/upload目...

关于java中String,StringBuffer,StringBuilder的区别以及StringBuffer,StringBuilder的安全性问题

这里的结果就是正确的然后我们来看他的append方法 它在前边加了一个synchronized来修饰,相当于同时只能有一个线程来访问他,这样就不会产生上边的问题但同时他的效率也就比StringBuilder低,...

Django连接现有mysql数据库

1、打开cmd后cd到项目位置 2、建立项目 django-admin startproject test2 3、编辑项目中的配置文件, mysite/settings.py ,告诉Django你的数据库连接参数和数据库名。具体的说,要提供 DATABASE_NAME , DATABASE_ENGINE , DATAB...

ShareSDK新浪微博登录时报错error:redirect_uri_mismatch

今天用 ShareSDK 做第三方登录的时候碰到个问题,明明在微博平台的应用审核已经通过了,但是调用登录接口的时候一直报错,错误如下: 出现这个错误是因为在微博开放平台上没有设置回调地址,或者设置的回调地址与本地XML中的地址不一致。 在sharesdk.xml文件当中对于微博的设置: 其中RedirectUrl为设置的回调地址,这里的地址必须要与微博开发平台设置的地址相同,否则就会出现上面的错误...

猜你喜欢

python解析网络封包方法

2019独角兽企业重金招聘Python工程师标准>>> 在使用Python解析网络数据包时,使用网络字节序解析,参见下表。 C语言的数据类型和Python的数据类型对照表请参见下表。 接下来对封包与解包进行举例说明。 version type id content unsigned short unsigned short unsigned int unsigned int 封包...

python3:时间方法,异常处理,系统文件相关模块(os)

文章目录 时间方法 time模块 时间表示方法: time模块的方法 datetime模块 异常处理 触发异常 创建mydiv.py脚本,要求如下: 创建myerror.py脚本,要求如下: os模块 实现ls -R(os.walk) os.path pickle模块 记账脚本 时间方法 time模块 时间表示方法: 时间戳:自1970-1-1 0:00:00到某一时间点之间的秒数 UTC时间:世...

负载均衡群集——LVS+DR模型

一、实验组成 调度器 192.168.100:41 web1 192.168.100:42 web2 192.168.100.43 NFS共享服务器 192.168.100.44 二、实验拓扑 三、实验配置 3.1在调度器配置:192.168.100.41 配置虚拟IP地址(VIP) 调整/proc响应参数 对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭...

adb无线连接时appium找不到设备

问题描述 以前使用USB连接真机,运行appium时一直正常,连接参数如下: 最近为了方便,使用adb无线连接真机,adb版本为1.0.40,真机安卓版本10,连接后,通过adb devices能够查看到连接的设备: adb无线连接是正常的,但每次运行时appium都找不到无线连接的设备,陷入重启adb循环: 解决流程 1.因为是没找到设备,所以在appium连接参数中增加了"udid&...

Mybatis_CRUD(基于xml的增删改查操作)

dao IUserDao domain User QueryVo SqlMapConfig.xml com.itheima.dao IUserDao.xml com.itheima.test 执行原理图:...