资讯专栏INFORMATION COLUMN

Java - 数组基本应用

paulquei / 1646人阅读

摘要:问题生成个长度为的存储类型元素的数组,以随机的方式为数组元素赋值且其值不得重复,能够打印其中最大的数组元素的值和索引。

问题

生成1个长度为10的存储int类型元素的数组,以随机的方式为数组元素赋值且其值不得重复,能够打印其中最大的数组元素的值和索引。

Main文件
import java.util.Random;

public class Main {

    public static void main(String[] args) {
        int array[];
        array = new int[10];

        p:for(int i = 0; i < 10;){      // 表达式 3 为空
            int value = make_random();  // 生成随机数
            for(int m = 0; m < i; m++){ // 判断是否有重复
                if(value == array[m]){  // 如果有重值
                    continue p;         // 进行  p语块  下一次循环
                }
            }
            array[i] = value;   // 给数组赋值
            i++;                // 数组下标值  + 1
        }

        ArrayMessage(array);    // 输出随机生成的数组
        Max_And_Min(array);     // 输出最大值和其索引
    }

    /**
     * 生产随机数
     * @return
     */
    public static int make_random(){
        Random rnd = new Random();  // 实例化一个对象
        int tmp = rnd.nextInt(10);  // 生成100以内的随机数
        return tmp;                 // 返回随机数
    }

    /**
     * 输出数组信息
     * @param array
     */
    public static void ArrayMessage(int array[]){
        System.out.print("生成的随机数组为:
[");
        for(int i = 0; i < 9; i++){
            System.out.print(array[i] + ",");
        }
        System.out.println(array[9] + "]");
    }

    /**
     * 输出数组的最大值及其索引
     * @param array
     */
    public static void Max_And_Min(int array[]){
        int max = array[9];             // 定义最大值的初值为数组的任一个元素,这样可以减少比较次数
        int mark = 9;                   // 定义最大值的索引初值为该元素的索引;
        for(int i = 0; i < 10; i++){    // 遍历数组的所有
            if(array[i] >= max){        // 如果某个元素大于等于最大值
                max = array[i];         // 把该元素的设为最大值
                mark = i;               // 把该元素的索引赋给mark
            }
        }
        System.out.print("其中数组元素的最大值为:" + max + " , 索引为:" + mark);
    }
}
控制台输出

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64198.html

相关文章

  • 基本排序 - Algorithms, Part I, week 2 ELEMENTARY SORTS

    摘要:我们讨论比较排序算法的理论基础,并结合本章应用排序和优先级队列算法。基本排序引入了选择排序,插入排序和。描述了,一种保证在线性时间内运行的排序算法。当我们后续实现排序算法时,我们实际上将这个机制隐藏在我们的实现下面。 前言 上一篇:栈和队列下一篇:归并排序 排序是重新排列一系列对象以便按照某种逻辑顺序排列的过程。排序在商业数据处理和现代科学计算中起着重要作用。在交易处理,组合优化,天体...

    BLUE 评论0 收藏0
  • Java学习笔记(一)

    摘要:是完全面向对象的语言,对象具有状态行为和标识。类一一是具有共同特征和行为的一类事物的统称。受保护的,对同一包内的类和所有子类可见。一种通用的内存池,用于存放所有对象。类级变量又称全局级变量或静态变量,需要使用关键字修饰。 java语言的基本特点 java语言是面向对象的高级程序设计语言,它是编译型的语言,Java语言不使用指针,并提供了自动的垃圾回收机制,使得程序员不必为内存管理而担...

    chengtao1633 评论0 收藏0
  • Java虚拟机如何加载类的?

    摘要:虚拟机有个一加载机制,叫做双亲委派模型。扩展类加载器扩展类加载器的父类的加载器是启动类加载器。验证验证的目的就是需要符合虚拟机的规范。虚拟机会通过加锁的方式确保方法只执行一次。 引言 上一篇文章谈到Java运行的流程,其中有一环是类加载。今天就继续深入探讨JVM如何加载虚拟机。首先JVM加载类的一般流程分三步:·加载·链接·初始化那么是否全部Java类都是这样三步走的方式加载呢?我们可...

    TANKING 评论0 收藏0
  • Java 我来了

    JAVA SE、JAVA EE、JAVA ME之间什么关系? JAVA SE 是Java EE和Java ME的基础。包含Java语法和Java工具包,用于开发桌面应用 JAVA EE 是基于JAVA SE的一套开发WEB应用的规范接口,用于开发WEB应用 JAVA ME 是基于JAVA SE的一套开发移动嵌入式应用的规范接口,用于开发移动嵌入式应用 JDK、JRE、JVM之间什么关系?...

    姘存按 评论0 收藏0

发表评论

0条评论

paulquei

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<