文档库 最新最全的文档下载
当前位置:文档库 › JAVA一维数组二维数组运用的例子

JAVA一维数组二维数组运用的例子

JAVA一维数组二维数组运用的例子
JAVA一维数组二维数组运用的例子

题目:定义一个一维数组存储10个学生名字;定义一个二维数组存储这10个学生的6门课(C程序设计、物理、英语、高数、体育、政治)的成绩;

程序应具有下列功能:

(1)按名字查询某位同学成绩

(2)查询某个科目不及格的人数,及学生名单

代码如下:

import java.util.*;

public class Test{

public static void main(String[]args){

Scanner input=new Scanner(System.in);

String[]name={"a","b","c","d","e","f","g","h","i","l"};//存储学生的名字

int[][]

grade={{50,60,70,80,90,10},{40,90,80,60,40,70},{60,80,70,60,40,90},{50,60,70,80,90,10}, {60,80,70,60,40,90},{60,70,80,90,70,70},{60,80,70,60,40,90},{60,80,70,60,40,90},{70, 80,90,70,70,70},{60,80,70,60,40,90}};//存储学生各科成绩

System.out.println("输入要查询成绩的学生名字:");

String chioce=input.nextLine();

for(int i=0;i<10;i++)

{

if(name[i].equals(chioce))

{System.out.println("学生:"+name[i]+"的成绩如下:");

System.out.println("C程序设计:"+grade[i][0]+"物理:"+grade[i][1]+"英

语:"+grade[i][2]+"高数:"+grade[i][3]+"体育:"+grade[i][4]+"政治:"+grade[i][5]+"\n");

break;}

}

System.out.println("******************************************************");

System.out.println("输入要查询不及格人数的科目序号\n"); System.out.println("1,C程序设计2,物理3,英语4,高数5,体育6,政治"); int ch=input.nextInt();

int time=0;

System.out.println("不及格的名单为:");

for(int i=0;i<10;i++)

{

if(grade[i][ch-1]<60)

{

time++;

switch(i)

{

case0:

System.out.println("a");break;

case1:

System.out.println("b");break;

case2:

System.out.println("c");break;

case3:

System.out.println("d");break;

case4:

System.out.println("e");break;

case5:

System.out.println("f");break;

case6:

System.out.println("g");break;

case7:

System.out.println("h");break;

case8:

System.out.println("i");break;

case9:

System.out.println("l");break;

}

}

}

System.out.println("该科目不及格人数为:"+time); }

}

JAVA一维数组二维数组运用的例子

题目:定义一个一维数组存储10个学生名字;定义一个二维数组存储这10个学生的6门课(C程序设计、物理、英语、高数、体育、政治)的成绩; 程序应具有下列功能: (1)按名字查询某位同学成绩 (2)查询某个科目不及格的人数,及学生名单 代码如下: import java.util.*; public class Test{ public static void main(String[]args){ Scanner input=new Scanner(System.in); String[]name={"a","b","c","d","e","f","g","h","i","l"};//存储学生的名字 int[][] grade={{50,60,70,80,90,10},{40,90,80,60,40,70},{60,80,70,60,40,90},{50,60,70,80,90,10}, {60,80,70,60,40,90},{60,70,80,90,70,70},{60,80,70,60,40,90},{60,80,70,60,40,90},{70, 80,90,70,70,70},{60,80,70,60,40,90}};//存储学生各科成绩 System.out.println("输入要查询成绩的学生名字:"); String chioce=input.nextLine(); for(int i=0;i<10;i++) { if(name[i].equals(chioce)) {System.out.println("学生:"+name[i]+"的成绩如下:"); System.out.println("C程序设计:"+grade[i][0]+"物理:"+grade[i][1]+"英 语:"+grade[i][2]+"高数:"+grade[i][3]+"体育:"+grade[i][4]+"政治:"+grade[i][5]+"\n"); break;} } System.out.println("******************************************************");

java数组之二维数组

数组的元素也可以是数组,每个数组的一个元素都是由一个一维数组构成,被称为二维数组。同样,多维数组可以看作是数组的数组,即N维数组的每一个元素就是一个N-1维数组。如:三维数组中的每一个元素都是一个二维数组。多维数组的定义即初始化与二维数组的基本类似,因此本节主要讲述二维数组。 1 、二维数组的声明 二维数组声明的一般格式如下: 数据类型数组名[][]; 或者格式如下: 数据类型[][] 数组名; 其中数据类型与一维数组的相同,它既可以是基本数据类型,也可以是复合数据类型,数组名可以是任意合法的变量名。下面是数组声明举例。 char ch[][]; double[][] d; String[][] str; 与一维数组的声明相同,二维数组也不需要规定其中任意一维的长度,下面的声明都是不合法的。 char ch[4][]; double[][5] d; String[6][7] str; 2、二维数组的初始化 二维数组的初始化也分为直接初始化和动态初始化两种方式。直接初始化必须在声明时开始,如下 ··124面的例子所示。 int array[][] = {{1,2},{2,4},{4,8}}; 二维数组的动态初始化又可分为两种方式:一种是直接规定每一维的长度,并分配所需的内存空间,另一种是从高维开始,分别为每一维规定长度并分配内存空间。

直接为每一维分配内存的格式如下: 变量名= new 数据类型[二维长度][一维长度]; 其中二维长度和一维长度都是大于0的整数,如下所示。 int array[][]; array = new int[3][5]; array是一个二维数组,二维长度为3,array[0]、array[1]、array[2]都是一维数组,长度都是5。分别分配内存格式如下: 变量名= new 数据类型[二维长度][]; 变量名[0] = new 数据类型[一维长度0]; 变量名[1] = new 数据类型[一维长度1]; 变量名[2] = new 数据类型[一维长度2]; ... 变量名[二维长度-1] = new 数据类型[一维长度n]; 下面是一个二维数组初始化的实例。 Int array[][]; //声明int类型二维数组array A = new int[3][]; //为二维分配内存空间 A[0] = new int[5]; //为A[0]的一维分配内存空间 A[1] = new int[5]; //为A[1]的一维分配内存空间 A[2] = new int[5]; //为A[2]的一维分配内存空间 3、二维数组的空间模型

数组及其应用(详细教案)

提问:给一组数排序,这组数该如何存 放呢? 8 2 9 4 5 6 3 7 1 6 这就是本节课要解决的问题。 ?一个班学生的学习成绩 ?一行文字 ?一个矩阵 这些数据的特点是: 1.具有相同的数据类型 2.使用过程中需要保留原始数据 C语言为这些数据,提供了一种型:数组。所谓数组就是一组具有相数据的有序集合。 提出学习要求: 1 一维数组的定义和应用

2 二维数组的定义和应用 3 字符数组的应用 第七章数组 7.1一维数组及应用 7.1.1一维数组的定义方式 在C语言中使用数组必须先定义、后使用,定义数组也就确定了数组的首地址、数组元素的类型和个数(数组长度)。 一维数组的定义方式为: 类型说明符数组名[常量表达式]; 例如: 1) int a[5]; 说明整型数组a,a是数组名,有5个元素。但

是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。注意不能使用数组元素a[5]。 float b[10],c[20]; 说明实型数组b,b是数组名,有10个元素,实型数组c,有20个元素。 char ch[20]; 说明字符数组ch,有20个元素。 对于数组类型说明应注意以下几点:2) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。 3) 数组名的书写规则应符合标识符的书写规定。 4) 数组名不能与其它变量名相同。 例如:

main() { int a; /*a为整型变量*/ float a[10]; /* 数组名a与上面的变量名a相同,错误!*/ …… } 是错误的。 5) 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。 例如: #define FD 5 /* FD是符号常数*/ main() {

thinkphp将二维数组转换为一维数组

thinkphp将二维数组变为标签适用的一维数组 2012-01-10 11:23:31| 分类:默认分类|字号订阅 方法一: $projectList=arr1tag($projectList,array('','请选择'),'project_name'); //其中$list为传值过来的二维数组,$default为默认值,$k为指定的表字段function arr1tag($list,$default='',$k=''){ $tmp=''; if(array($list)){ if(array($default)){ $tmp[$default[0]]=$default[1]; } foreach ($list as $k1=>$v1){ $tmp[$k1+1]=$v1[$k]; } } return $tmp; } 方法二: $projectList=arr2tag($projectList,array('','请选择'),''); //根据数组下标获取对应值 function array_index2val($array,$index=0){ $value=''; if(is_array($array)){ $i=0; foreach($array as $val){

if($i===$index){ $value=$val; break; } $i++; } } return $value; } //把数据库中调出的数组转换成可以使用模版标签的数组,其中$default为默认值,$k为指定的表字段 function arr2tag($arr,$default=NULL,$K=NULL){ $tmp=''; if(is_array($arr)){ if(is_array($default)){ $tmp[$default[0]]=$default[1]; if($type==1){ $tmp[$default[2]]=$default[3]; } } foreach ($arr as $key=>$val){ if(is_array($K)){ $tmp[$val[$K[0]]]=$val[$K[1]]; }else{ $tmp[array_index2val($val,0)]=array_index2val($val,1); } } } return $tmp; } 方法三: 将读取数据库的内容直接转换为一维数组,该方法大多用于select标签 $this->where($where)->getField('id,name'); 得出的内容为 array(

vb中一维二维数组应用

一维数组 排序 一、选择排序法: 数据已经放在一维数组中,要求从小到大排序。 数组 20 4 36 …… 45 109 3 下标 1 2 3 …… n-2 n-1 n 排序过程: 1、从第1项到第n项选择最小值,然后将第1项与最小项交换。 2、从第2项到第n项选择最小值,然后将第2项与最小项交换。 3、…… 4、从第n-1项到第n项选择最小值,然后将第n-1项与最小项交换。注意:最小值及下标由临时变量存储。 所以,需要两层循环:外层循环i执行n-1次,内层循环j执行n-i-1次For i=1 to n-1

最小值及下标由临时变量存储 tmpVal=第i项值 tmpId=第i项下标 For j=i+1 to n 若tmpVal >第j项值,则: tmpVal=第j项值 tmpId=第j项下标 next 将第i项与最小项交换 Next 从大到小呢? 二、冒泡排序法: 数据已经放在一维数组中,要求从小到大排序。 数组 20 4 36 …… 45 109 3 下标 1 2 3 …… n-2 n-1 n

两种方法:小数上浮和大数下沉。 小数上浮排序过程:从第n项到第k项,依次相临两项比较,若第m项小于第m-1项,则两项交换。(k从2到n) 第1次执行:结果是第1项至第n项中的最小值放到第1项中 1、若第n项小于第n-1项,将第n项与第n-1项交换。 2、若第n-1项小于第n-2项,将第n-1项与第n-2项交换。 3、…… 4、若第2项小于第1项,将第2项与第1项交换。 第2次执行:结果是第2项至第n项中的最小值放到第2项中 1、若第n项小于第n-1项,将第n项与第n-1项交换。 2、若第n-1项小于第n-2项,将第n-1项与第n-2项交换。 3、…… 4、若第3项小于第2项,将第3项与第2项交换。 …… 第n-1次执行: 1、若第n项小于第n-1项,将第n项与第n-1项交换。 所以,需要两层循环:外层循环i执行n-1次,内层循环j执行n-i次 For i=1 to n-1 For j=n to i+1 step -1 若第j项值<第j-1项值,则:

关于java用二维数组编杨辉三角(具体到步骤)

import javax.swing.JOptionPane; // import是引入的意思,javax.swing是sun为我们提 供的一个包,包中有一个类叫JoptionPane。 JOptionPane 是有助于方便地弹出要求用户提供值或向 其发出通知的标准对话框。它是用来编写图形用户界 面的一个类。 合起来讲就是:导入包javax.swing中JOptionPane这个 类,这样在你的这个文件中就能使用这个类了。 public class YH //public 是公开访问接口class是指这个java程序建立的类 YH是该程序的自定义命名。 { public static void main(String args[]) //公开访问的,static静态的,void无返回值的,main ()是方法执行入口,()里面为方法名。 { String row; // String 类型的传递是引用传递。也即是地址传递。 传的是row的地址。 int row1; //定义整型变量row1 row=JOptionPane.showInputDialog("输入行数:"); //将图形界面显示的“输入行数”获取 到的值,赋值给row row1=Integer.parseInt(row); // Integer.parseint(row)就是把整形对象Integer转换成 基本数据类型int(整数)。即把row转换为int型,方便接 下来为二维数组赋值。 int ss[][]=new int[row1][row1]; //用row1的赋值构建二维数组。 int i,j; //定义整型的i和j。其中i代表行,j代表列。 ss[0][0]=1; //为二维数组附上初值 ss[1][0]=1; ss[1][1]=1; //同上 for(i=2;i

Java_数组练习题目

一填空题 1)数组的元素通过数组下标来访问,数组Array的长度为元素的个数 (Array.length)。 2)Java中数组的下标的数据类型是整形。 3)不用下标变量就可以访问数组的方法是数组名。 4)数组最小的下标是0 。 5)arraycopy()的最后一个参数指明复制元素的个数。 6)向方法传递数组参数时,传递的是数组的引用。 7)数组初始化包括数组的声明,创建,初始化。 8)数组下标访问超出索引范围时抛出数组越界异常 9)浮点型数组的默认值是0.0f 。 10)对象型数组的默认值是null 。 二选择题 1.下面错误的初始化语句是_A B D__ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是_B_ A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的是__B__ A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是__D__ A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__C__ A. 24 B. 25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是_B___ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在 C 中 A. 栈 B. 队列 C. 堆 D. 链表

C语言程序设计 一维数组

5.1一维数组 5.1.1找最小数 【例5-1】输入10个整数,找出其中的最小数,然后输出这10个数和最小数。 参考程序如下: /*程序5-1.c*/ #include int main() { int i,min,a[10];/*定义数组*/ printf("Enter data:");/*提示输入*/ for(i=0;i<10;i++) scanf("%d",&a[i]);/*输入10个数*/ min=a[0];/*假设下标为0的元素最小*/ for(i=1;i<10;i++)/*找最小值a[i]*/ if(a[i]

java数组的概念和作用

1 数组的概念 和其他语言一样,Java也提供数组支持,数组是属于引用类型,即数组是一个 对象。 强调数组的类型是引用类型。 数组的基本概念及作用 数组是相同数据类型元素的集合 数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。 数组的举例 int [] a = new int []{1,2,3,4,5}; String [] s = new String []{"小熊","小小熊","小小小熊"}; Employee [] e=new Employee[10];(Employee是自定义类) 2 数组的声明 数组的声明的两种方式: 数据类型 [] 数组名字例如:int [] a; 数据类型数组的名字 [] 例如: int a []; 注意: 在Java语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型。 数组在声明后还只是一个空指针,不能使用,要想使用必须创建。 数组创建的三种方式:

?//声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值 char[] chAry = new char[10]; ?//声明数组并分配内存,同时将其初始化 ?int[] ary1 = new int[]{1, 2, 3, 4, 5}; ?//与前一种方式相同,仅仅只是语法相对简略 ?int[] ary2 = {1, 2, 3, 4, 5}; 从另一个角度,数组创建可以分为动态和静态两种 动态创建数组(没有为元素赋值,可以结合for循环进行赋值) char[] chAry = new char[10]; 静态创建数组,在创建的时候,即为每个元素赋初值 int[] ary1 = new int[]{1, 2, 3, 4, 5}; 数组的长度 数组的长度:length属性 int [] b1 = new int []{1,2,3,4,5,6,7}; System.out.println(b1.length); 注意:数组的长度是属性,String的长度是length(); 创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。 数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7. 数组之间赋值 在C语言中,不可以将数组直接赋值给另一个数组;

数组的综合应用例子

数组的综合应用例子 时间:2009-6-19 8:54:45 点击:1409 数组的综合应用 为了加深对数组的理解,下面结合一些常用算法的编程来更加深入地学习和使用数组。由于一维数组和二维数组是程序设计中最常用的数组形式,因此这里的举例均为一维和二维数组。 1.数组元素的输入和输出 [例5-12] 由用户输入5个数组元素的值并把它们输出在窗体上。 Option Explicit Private Sub Command1_Click() Dim a(1 To 5) As Integer, i As Integer For i=1 To 5 a(i)=InputBox("请输入第" & Str(i) & "个元素") Next For i=1 To 5 Print "a (";i; ")="; a(i) Next End Sub 程序运行后,单击命令按钮,执行事件过程Command1_Click。若输入5个值10,20,30,40,50,则窗体上显示的输出结果是: a(1)=10 a(2)=20 a(3)=30 a(4)=40 a(5)=50 程序中声明了一个具有5个元素的一维整型数组,分别用循环语句输入、输出数组元素的值。在循环体内,数组元素用循环控制变量i作下标,i值的不同就表示数组元素的不同。在程序中引用数组元素时,其下标可以使用表达式。只要表达式的结果不超出数组定义的上界和下界范围,下标表达式就是合法的。例如本例中,若i=2,则: a(i+1)的值为30; a(a(i+3)\10)的值为50。 下标表达式的值还可以是实数,此时VB将自动对其进行四舍五入取整。例如: a(1+0.4)的值是10; a(2+0.5)的值30。 2.数组元素插入删除

Java数组练习题(带答案)

一填空题 1)数组的元素通过下标来访问,数组Array的长度为Array.length 。 2)数组复制时,"="将一个数组的引用传递给另一个数组。 3)JVM将数组存储在栈(堆或栈)中。 4)数组的二分查找法运用的前提条件是数组已经排序。 5)Java中数组的下标的数据类型是整型。 6)数组最小的下标是0 。 7)arraycopy()的最后一个参数指明复制元素的个数。 8)向方法传递数组参数时,传递的是数组的引用。 9)数组初始化包括数组的申明,创建和初始化。 10)数组下标访问超出索引范围时抛出数组越界异常 11)浮点型数组的默认值是0.0f 。 12)数组创建后其大小不能改变。 二选择题 1.下面错误的初始化语句是_ABD__ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是_B__ A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的是____ A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是_D___ A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____ A. 24 B. 25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是__B__ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在 C 中 A. 栈 B. 队列 C. 堆 D. 链表 8.下面程序的运行结果是____ main() { int a[][]={{1,2,3},{4,5,6}}; System.out.printf("%d", a[1][1]); } A. 3 B. 4 C. 5 D. 6 9.下面程序的运行结果是_C___ main() {

Java中数组的声明

Java中数组的声明 一维数组的声明: 在Java中,数组是独立的对象,有自身的方法,不是变量的集合。 数组的声明: 类型标识符数组名[ ] 或者类型标识符[] 数组名。 数组的长度是在创建的时候决定的。 数组的创建方法: 先声明后创建: int array[]; array = new int[10]; 在声明的同时创建: int array[] = new int[10]; 直接赋值: int array[]= new int[1,2,3,4]; 数组下标从0开始。 数组是引用类型,他的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士地初始化。如: public class Testpublic static void main(Stirng [] args)?? int [] a = new int [5]; ?? Date[] days=new Date[3]; ?? System.out.println(a[3]); ?? System.out.println(days[2]);} class Dateint year,month,day; Date(int year,int month,int day)?? this.year=year; ?? this.month=month; ?? this.day=day;} 结果将是:0????? null 数组的拷贝 最有效率的方法是使用https://www.wendangku.net/doc/0517169355.html,ng.System类的静态方法: public static void arraycopy(object src,int srcPos,object dest, ???????????????? int destPos,int length) 可以用于数组src从第srcPos项元素开始的length个元素拷贝到目标数组从destPos项开始的length个位置。 如果源数据数目超过目标数组的边界,系统就会抛出异常。 二维数组 float[][] numthree;???????????? //定义一个float类型的2维数组 numthree=new float[5][5];?????? //为它分配5行5列的空间大小 numthree[0][0]=1.1f;??????????? //通过下标索引去访问???? 1行1列= 1.1 numthree[1][0]=1.2f;????????????????????????????????? // 2行1列=1.2 numthree[2][0]=1.3f;????????????????????????????????? // 3行1列=1.3 numthree[3][0]=1.4f;????????????????????????????????? // 4行1列=1.4

一维数组教案

“一维数组”教学方案 【课题】一维数组 【学时】50分钟 【授课学生分析】 教学对象为大学本科学生,通过前面程序的基本结构(顺序结构、选择结构、循环结构)的学习,学生已具备一定的编程能力,为学习数组的应用打下了基础。【教学目标】 1、知识目标 理解数组的概念,掌握对数组的定义、初始化、引用的应用。 2、能力目标 通过对数组定义、引用的掌握,引导学生利用数组解决同类型的多变量的问题,培养和提高学生逻辑思维能力,提高动手编程能力。 3、情感目标 利用上机分组操作,培养学生的协作精神。激发学生学习兴趣,使学生积极参与体验成功的快乐。 【重点难点】 重点:一维数组的定义、一维数组的初始化、一维数组的引用 难点:一维数组的引用、一维数组的应用 【教学方法】 1、采用案例、情境、启发式教学法。 2、以例子讲解→练习→引发学生思考为流程;循序渐进的教学策略。 3、运用“提出问题→学生尝试→演示与交流→解决问题”的课堂教学模式。【教学策略】 基本知识采用的基本模式:提出问题→学生尝试→演示与交流→解决问题。 然后是能力拓展,学生分组从其它工作表中挑选内容完成挑战,适用于分层进行教学,最后展示与交流,使学生享有成就感,充分发挥学生的应用知识的能力。 以学生为主、教师引导并给予鼓励,充分发挥学生的主体性及积极性。

【教学过程】

【教学后记】 专业班的学生基础较好,旧知识点没有过多的强调。在整个教学过程中,紧紧围绕提出问题——分析问题——解决问题三个环节,充分体现了学生的主体地位、以及对学生各种能力的培养。 对于本次课的重点、难点,我通过启发引导、提出问题、巩固练习等形式,充分调动学生的学习积极性,使他们参与到教学的整个过程,让学生在积极思考,积极探索中掌握新知识、消化本节课的重点、难点。

数组程序举例

?一个班学生的学习成绩 ?一行文字 ?一个矩阵 这些数据的特点就是: 1、具有相同的数据类型 2、使用过程中需要保留原始数据 C语言为这些数据,提供了一种构造数据类型:数组。 所谓数组就就是一组具有相同数据类型的数据的有序集合。

一维数组及其应用 例1:一维数组元素赋值及输出练习、 main() { int i,a[10]; /* 定义数组整型数组a,它含有十个元素。*/ for(i=0;i<=9;i++) a[i]=i; /*通过for循环依次为数组a中的每个元素赋值。*/ for(i=9;i>=0;i--) /*通过for循环依次输出数组a中的每个元素的值。*/

printf("%3d ",a[i]); /*请注意输出元素的顺序*/ } 运行结果: 9 8 7 6 5 4 3 2 1 0 总结:程序使a[0]到a[9]的值为0~9,然后按逆序输出。 例2:用数组来处理求Fibonacci(菲波那契) 数列问题,求出前40个数并以每行4个数输出。 Fibonacci 数列: F1 = 1 n =1 F2 = 1 n =2 Fn = Fn-1 + Fn-2 n ≥ 3

即:1 1 2 3 5 8 13 。。。 #include main ( ) { int i; long f [40] = {1, 1}; /*定义长整型数组f存放40个Fibonacci 数,对第一个与第二个元素先赋初值1 */ for ( i = 2; i < 40; i++) /* 与得到其值*/ f [i] = f [i-2] + f [i-1]; for ( i = 0; i < 40; i++) /* 利用循环依次输出40个数*/

Java 数组练习题目

一填空题 1)数组的元素通过来访问,数组Array的长度为。 2)数组复制时,"="将一个数组的传递给另一个数组。 3)没有显式引用变量的数组称为数组。 4)JVM将数组存储在(堆或栈)中。 5)数组的二分查找法运用的前提条件是数组已经。 6)矩阵或表格一般用维数组表示。 7)如果把二维数组看成一维数组,那么数组的元素是数组。 8)Java中数组的下标的数据类型是。 9)不用下标变量就可以访问数组的方法是。 10)数组最小的下标是。 11)arraycopy()的最后一个参数指明。 12)向方法传递数组参数时,传递的是数组的。 13)线性查找法的平均查找长度为。 14)数组初始化包括。 15)数组下标访问超出索引范围时抛出异常 16)浮点型数组的默认值是。 17)对象型数组的默认值是。 18)对象类型的数组虽然被默认初始化,但是并没有构造函数。 19)二维数组的行的长度不同。 20)数组创建后其大小改变。 二选择题 1.下面错误的初始化语句是___ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是___ A.a[0]=1; B.a[10]=2; C.a[0]=5*2; D.a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的是____ A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是____ A.整型常量 B.整型变量 C.整型表达式 D.以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____ A. 24 B.25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是____ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在中

java中数组的定义及使用方法详解

java中数组的定义及使用方法详解 数组:是一组相关变量的集合 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组 数据的有点 不使用数组定义100个整形变量:int i1;int i2;int i3 使用数组定义 int i[100]; 数组定义:int i[100];只是一个伪代码,只是表示含义的 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一 声明一维数组:数据类型数组名[]=null; 非配内存给数组:数组名=new 数据类型[长度]; 声明形式二 声明一维数组:数据类型 [] 数组名=null; java数据类型分为两大类 基本数据类型 int、long操作的时候本身就是具体的内容 引用数据类型:数组、类、接口 引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同

时使用 事例声明数组 package com.qn.array; public class Test { public static void main(String[] args) { int score[]=null;//声明数组 score=new int[3];//开辟空间,大小为3 } } 数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等 数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同 数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度 基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null 事例 package com.qn.array;

JAVA基础语法数组

JA V A基础语法_数组 一、选择题 1、以下能对二维数组a进行正确初始化的语句是 A)int a[2][] = { {1 , 0 , 1} , {5 , 2 , 3} }; B)int[][] a = { { 1, 2, 3 }, { 4, 5, 6 } }; C)int a[2][4] = { { 1 , 2 , 3 }, { 4 , 5 } , { 6 } }; D)int[] a = { { 1 , 0 , 1 } { } , { 1 , 1 } }; 答案:B 2、若有说明:int a[][]=new int[2][3];则数组a中各元素 A)可在程序的运行阶段得到初值0 B)可在程序的编译阶段得到初值0 C)不能得到确定的初值 D)可在程序的编译或运行阶段得到初值0 答案:A 3、下面创建二维数组正确的是 A)int[][] a = new int[][3]; B)int[][] a = new int[2][3]; C)int[] a[] = new int[2][]; D)int a[][] = new int[][2]; 答案:BC 4、若有说明: int a[] = { 1, 2, 3, 4, 5, 6, 7 }; 则获取a数组的大小是A)length B)length() C)getLen() D)size() 答案:A 5、执行下面的程序段后,变量k中的值为 int k = 3, s[] = new int[2]; s[0] = k; k = s[1] * 10; A)0 B)33 C)30 D)10 答案:A 6、下列四个选项中,正确的数组定义是______ A)int size = 2; int[] a = new int[size]; B)int 3a = new int[3]; C)long size = 2; int[] a = new int[size]; D)int[] $a= new int[3]; 答案:AD

二维数组中的查找 Java实现

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 测试用例: array为: {1, 2, 8, 9} {2, 4, 9, 12} {4, 7, 10, 13} {6, 8, 11, 15} target:1 思路: 先与第一行最后一列的数比较,target较大则继续比较下一行最后一列值,较小则列值减1与之比较,直到找到相等值或全部比较完结束循环,返回结果 代码: import java.util.Scanner; public class Test1 { private static boolean Find(int target, int[][] array) { int rowTotal = array.length;//获取数组行数 int columnTotal = array[0].length;//获取数组列数 /* * 判断数组是否为空、行数和列数是否不为0,不满足直接false */ if(array != null && rowTotal > 0 && columnTotal > 0) { int row = 0; int column = columnTotal - 1; while(row < rowTotal && column >= 0) {//确保正在判断的是该数组的合法元素 if(array[row][column] < target) {//若target大于该行最大的数,则行数加1 row++; }else if(array[row][column] > target){//若target小于当前元素的值,则列数减1 column--;

C语言数组实例

数组求平均值 main() {float b,s=0.0,aver,a[6]; int i; for(i=0;i<6;i++) scanf("%f",&a[i]); for(i=0;i<6;i++) s=s+a[i]; aver=s/6.0; printf("%f\n",aver); } 求数组中的最大值 main() {float max,s=0.0,a[6]; int i; for(i=0;i<6;i++) scanf("%f",&a[i]); max=a[0]; for(i=1;i<6;i++) if(maxa[i]) {min=a[i];j=i;} printf("最大最小值分别在:%d,%d\n",k,j); for(i=0;i<5;i++) printf(" %f \n",a[i]);

查找数组中有无此项 main() {float a[9]={21,12,34,23,54,67,65,13,87}; int s,i; /*for(i=0;i<9;i++) scanf("%f",&a[i]); printf("\n");*/ printf("请输入要查找的数:"); scanf("%d",&s); for(i=0;i<9;i++) if(a[i]==s) {printf("有此项\n");break;} if(i==9) printf("无此项\n"); } 判断是否为回文 main() {char a[100]; int s,d,i; printf("请输入:"); gets(a); //输入一个字符串 s=i=0; for(i=0;i<100;i++) if(a[i]=='\0') d=i; d--; for(s=0;s<=d;s++) if(s<=d&&a[s]==a[d]) d--; else break; if(s>d) printf("%s是回文.\n",a); else printf("%s不是回文.\n",a); }

数组程序举例

?一个班学生得学习成绩 ?一行文字 ?一个矩阵 这些数据得特点就是: 1、具有相同得数据类型 2、使用过程中需要保留原始数据 C语言为这些数据,提供了一种构造数据类型:数组。所谓数组就就是一组具有相同数据类型得数据得有序集合.

一维数组及其应用 例1:一维数组元素赋值及输出练习、 main() { inti,a[10]; /* 定义数组整型数组a,它含有十个元素.*/ for(i=0;i<=9;i++) a[i]=i; /*通过for循环依次为数组a中得每个元素赋值.*/ for(i=9;i>=0;i-—)/*通过for循环依次输出数

组a中得每个元素得值。*/ printf("%3d",a[i]); /*请注意输出元素得顺序*/} 运行结果: 9 8 7 6 5 4 3 210 总结:程序使a[0]到a[9]得值为0~9,然后按逆序输出. 例2:用数组来处理求Fibonacci(菲波那契) 数列问题,求出前40个数并以每行4个数输出。 Fibonacci 数列:F1 =1?n=1 ?F2= 1?n= 2

Fn = Fn-1+ Fn—2 n ≥3 即:1 1??2 ?3??5?8 ?13 ?。。。 #include 〈stdio、h> main () {?int i; long f [40]={1, 1}; /*定义长整型数组f存放40个Fibonacci 数,对第一个与第二个元素先赋初值1 */ ?for( i= 2;i〈40;i++) /* 用前两个元素求与得到其值*/ ??f [i]=f [i—2]+f [i—1];

for (i=0;i< 40;i++)/*利用循环依次输出40个数*/ ?{? if(i %4== 0)printf (”\n”);/*每输出4个数输出一个换行符*/ ?printf("%16ld", f[i]);/* 要注意长整型数据得输出格式控制符得写法*/ ?} } 运行结果:

相关文档
相关文档 最新文档