数组及二维数组

1.用户输入学生成绩,添加到数组中,并算出总分和平均分

package com.deom.sz;

import java.util.Scanner;

public class sz_xscj {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] arr=new int[5];
        double sum=0;

        for(int i=0;i<arr.length;i++){
            System.out.println("请输入第"+(i+1)+"个学生的分数!");
            arr[i]=in.nextInt();
            //统计总分
            sum+= arr[i];
        }
        System.out.println("成绩是:");
        for(int m : arr){
            System.out.println(m);
        }

        System.out.println("本次考试的总分:"+sum+"平均分:"+ sum/arr.length);

        int max= arr[0];
        int min = arr[0];
        for(int i=0;i<arr.length;i++){
            if(max < arr[i]) {
                max= arr[i];
            }
            if(min > arr[i]){
                min= arr[i];
            }
        }
        System.out.println("最大是:"+max+"最小是:"+min);
    }
}

2.数组排序(冒泡排序)

package com.deom.sz;

import java.util.Scanner;

public class sz_mppx {
    public static void main(String[] args) {
        int [] arr={35,11,99,535,464};
        System.out.println("排序前:");
        for (int m:arr){
            System.out.println(m);
        }
        //冒泡排序
        for (int i=0;i<arr.length;i++){
            for (int j=0;j<arr.length-i-1;j++){
                if (arr[j]>arr[j+1]){
                    int cup =arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=cup;
                }
            }
        }
        System.out.println("排序后:");
        for (int m:arr){
            System.out.println(m);
        }
    }
}

3.数组查询

package com.deom.sz;

import java.util.Scanner;

public class sz_szcx {
    public static void main(String[] args) {
        int [] arr={235,535,35,79,15};
        Scanner in=new Scanner(System.in);
        System.out.println("请输入要查询的数字:");
        int num=in.nextInt();
        //定义一个变量接受索引
        int index=-1;
        for (int i=0;i<arr.length;i++){
            if (num==arr[i]){
                //找到:跳出循环,并且获取该数字的索引
                index=i;//将当前索引赋值
                break;
            }
        }
        if (index == -1) {
            System.out.println("对不起,你输入的数字不存在!");
        }
        else {
            System.out.println("数字在数组中的位置是"+(index+1));
        }
    }
}

4.进制转换

十进制转换二进制

package com.deom.sz;

import java.util.Scanner;

public class sz_jzzh10_2 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        System.out.println("请输入一个十进制整数:");
        int num=in.nextInt();
        int sum=0;
        int c=num;//保留用户输入的数字
        //1.对二进行整除 获取数组的大小
        while(num!=0){
            num/=2;
            sum++;
        }
        int [] arr=new int[sum];
        System.out.println(sum);
        System.out.println("数字"+c+"转换为二进制是:");
        //输出方法一
        //2.保存余数到数组
        for (int i=0;i<arr.length;i++){
            arr[i]=c%2;
            c/=2;
        }
        //3.倒叙输出数组元素
        for (int i=arr.length-1;i>=0;i--){
            System.out.print(arr[i]);
        }
        //输出方法二
        //2.保存余数到数组
        for (int i=arr.length-1;i>=0;i--){
            arr[i]=c%2;
            c/=2;
        }
        //3.输出数组元素
        for (int m:arr){
            System.out.print(m);
        }
    }
}

十进制转八进制

package com.deom.sz;

import java.util.Scanner;

public class sz_jzzh10_8 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        System.out.println("请输入一个十进制整数:");
        int num=in.nextInt();
        int sum=0;
        int c=num;//保留用户输入的数字
        //1.对二进行整除 获取数组的大小
        while(num!=0){
            num/=16;
            sum++;
        }
        int [] arr=new int[sum];
        System.out.println(sum);
        System.out.println("数字"+c+"转换为二进制是:");
        //输出方法一
        //2.保存余数到数组
        for (int i=0;i<arr.length;i++){
            arr[i]=c%8;
            c/=8;
        }
        //3.倒叙输出数组元素
        for (int i=arr.length-1;i>=0;i--){
            System.out.print(arr[i]);
        }
        //输出方法二
        //2.保存余数到数组
        for (int i=arr.length-1;i>=0;i--){
            arr[i]=c%8;
            c/=8;
        }
        //3.输出数组元素
        for (int m:arr){
            System.out.print(m);
        }
    }
}

十进制转十六进制

package com.deom.sz;

import java.util.Scanner;

public class sz_jjzh10_16 {

        //10进制转化为16进制
        public static void main(String[] args) {
            Scanner in=new Scanner(System.in);
            System.out.println("请输入一个十进制整数:");
            int num=in.nextInt();
            int sum = 0;
            int m =num;
            while (num!=0){
                num/=16;
                sum++;
            }
            int [] arr  = new int[sum];
            for (int i = 0; i < arr.length; i++) {
                arr[i] = m%16;
                m/=16;
            }
            for (int i = arr.length-1; i >=0 ; i--) {
                if(arr[i]>=10){
                    System.out.print((char)(arr[i]+87));
                }else {
                    System.out.print(arr[i]);
                }
            }
        }
}

5.数组元素位置交换

package com.deom.sz;

import java.sql.SQLOutput;

public class sz_wzjh {
    public static void main(String[] args) {
        int [] arr={35,53,6664,46464,89};
        System.out.println("交换前:");
        for (int m:arr){
            System.out.println(m);
        }
        //数组元素交换位置
        for (int i=0;i<arr.length/2;i++){
            int cup =arr[i];
            arr[i]=arr[arr.length-1-i];
            arr[arr.length-1-i]=cup;
        }
        System.out.println("交换后:");
        for (int m:arr){
            System.out.println(m);
        }
    }
}

6.二维数组对角线和

package com.deom.sz;

public class sz_ewsz {
    public static void main(String[] args) {
        int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
        //输出以上二维数组的两个对角线上的和
        int sum=0;
        for (int i=0;i<arr.length;i++){
            for (int j=0;j<arr[i].length;j++){
                System.out.print(arr[i][j]);
                if (i==j){
                    sum+=arr[i][j];
                }
                if (i+j==2){
                    sum+=arr[i][j];

                }
            }
            System.out.println();
        }
        System.out.println(sum);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值