ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数组演练

2021-09-11 11:02:01  阅读:223  来源: 互联网

标签:随机数 表格 int public 数组 演练 数据模型


一、数组演练

1、获取一维数组最小值

精简的for语句

for语句用于程序的循环流程控制。该语句有3个表达式用于循环变量的控制,其完整语法格式为:

for(int i=0; i<100; i++){

            ……

}

for语句中的3个表达式不是完全必备的,可以根据情况部分省略,甚至完全省略,例如下面代码就以最简单的格式实现了无限循环。

for (;;) {

    ……

}

 

2、将二维数组中的行列互换

在Java语言中定义数组变量时,不能声明其长度,只能在new关键字创建数组时指定,例如int[9] array =……是错误的写法。应该是int[] array = new int[9]。

 

3、利用数组随机抽取幸运观众

本实例中的重点是把字符串中的人员名单分割为数组,以及随机生成数组下标索引,这分别需要用到String类的split()方法和Math类的random()方法,下面对这两个方法进行简单介绍。

(1)字符串分割为数组

String类的split()方法可以根据指定的正则表达式对字符串进行分割,并返回分割后的字符串数组,例如“a,b,c”如果以“,”作为分隔符,返回值就是包含“a”,“b”和“c”3个字符串的数组。该方法的声明如下:

public String[] split(String regex)

参数说明:

Œ regex:分割字符串的定界正则表达式。

(2)生成随机数

抽奖当然是随机抽取的,这就需要用到随机数,Java在Math类中提供了静态方法random()可以生成0到1之间的double类型随机数值。该方法的声明如下:

public static double random()

由于该方法生成的是0到1之间的小数,而数组下标是整数而且又要根据数组长度来生成随机数,所以要把生成的随机数与数组长度相乘,就像本实例中的算法那样,关键代码如下:

int index = (int) (Math.random() * personnelArray.length);// 生成随机数组索引

这句代码把随机数与数组长度的乘积转换为整形作为随机数组下标索引。

 

4、用数组设置JTable表格的列名与列宽

本实例的关键技术在于设置表格的数据模型和访问列模型。其中表格的数据模型可以采用DefaultTableModel类创建数据模型对象,而创建过程中可以把字符串数组作为参数来创建表格列的名称。下面介绍一下这些关键技术的语法。

(1)创建表格数据模型

DefaultTableModel类的构造方法有很多,其中一个可以把字符串数组作为参数来生成列名称,同时接收int类型的参数来设置表格添加多少行空白数据。这个构造方法的声明如下:

public DefaultTableModel(Object[] columnNames, int rowCount)

参数说明:

Œ columnNames:存放列名的数组

 rowCount:指定创建多少行空白数据

(2)设置表格数据模型

JTable类是表格控件,它提供了setModel()方法来设置表格的数据模型,设置数据模型以后,表格控件可以从数据模型中提取表头所有列名称和所有行数据,这个数据模型将负责表格所有数据的维护。下面介绍该设置表格模型的方法声明格式:

public void setModel(TableModel dataModel)

参数说明:

dataModel:此表的新数据模型。

(3)获取表格列模型

表格中所有列对象都存放在列模型中,它们用于定义表格的每个列的名称及宽度等信息。表格的列模型可以通过getColumnModel()方法获取。其方法声明如下:

public TableColumnModel getColumnModel()

(4)设置列宽度

列对象存放在列模型中,并且列的宽度需要通过列对象的setPreferredWidth()方法来设置,该方法的语法声明如下:

public void setPreferredWidth(int preferredWidth)

参数说明:

preferredWidth:列对象的首选宽度参数

 

标签:随机数,表格,int,public,数组,演练,数据模型
来源: https://www.cnblogs.com/tianzs/p/15254046.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有