一、实验目的
1、掌握Java一维数组的定义和使用方法。
2、掌握Java二维Windows计算机和Eclipse软件数组的定义和使用方法。
二、实验硬、软件环境
Windows计算机和Eclipse软件
三、实验内容及步骤
1.定义一个长度为20整数数组,用户输入任意20个整数,分别统计奇数和偶数的个数并分别输出奇数和偶数。
代码及运行结果:
package com.itheima.first;
import java.util.ArrayList;
import java.util.Scanner;
public class 统计奇偶数 {
public static void main (String[] args) {
int[]a=new int[20];
int jishu=0;
int oushu=0;
ArrayList <Integer>l1=new ArrayList<>();
ArrayList <Integer>l2=new ArrayList<>();
for(int i=0;i<20;i++) {
Scanner arr=new Scanner(System.in);
System.out.print("请为第"+(i+1)+"个元素赋值 ");
a[i]=arr.nextInt();
}
for(int i=0;i<a.length;i++) {
if(a[i]%2==0) {
oushu++;
l1.add(a[i]);
System.out.print(a[i]+"为偶数 ");
}else {
jishu++;
l2.add(a[i]);
System.out.println(a[i]+"为奇数 ");
}
}
System.out.print("奇数有"+jishu+"个 ");
System.out.println("偶数有"+oushu+"个");
System.out.println("偶数为:"+l1);
System.out.println("奇数为:"+l2);
}
}
2. 请编写程序。要求:
A、利用二维数组存储九九乘法表的结果。例a[0][0] = 1, a[1][0] = 2, a[1][1] = 4…a[8][8] = 81.
B、打印结果。输出结果如下所示:
1
2 4
3 6 9
……
9 18 …… 81
代码及运行结果:
package com.itheima.first;
public class 二维数组 {
public static void main (String[] args) {
int [][]a=new int[9][9];
for(int i=0;i<9;i++) {
a[i]=new int [i+1];
for(int j=0;j<=i;j++) {
a[i][j]=(i+1)*(j+1);
}
}
for(int i=0;i<9;i++) {
for(int j=0;j<=i;j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
3.使用二维数组打印一个10行杨辉三角.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
..............................
代码及运行结果:
package com.itheima.first;
public class 杨辉三角 {
public static void main(String[] args) {
int [][] arr = new int [10][10];
for(int i=0;i<arr.length;i++) {
for(int j=0;j<=i;j++) {
if(j==0||j==i) {
arr[i][j]=1;
}else {
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}
四、实验结果及分析
1通过此次实验中发现,在用数组统计奇数偶数需要用到循环嵌套即for循环和if...else语句,在九九乘法表中需用到for循环,其中的语法格式需要严格遵循对应的语法格式;
2.数组初始化为数组中的元素分配内存空间,并为每个数组元素赋值,一维数组的初始化语法格式为:类型 数组名 = new 数据元素的数据类型[元素个数];在用下标访问数组中的元素,下标索引是从0开始;
3.二维数组与一维数组的初始化不同,其分为静态初始化和动态初始化静态初始化,直接指定每个元素的值;动态初始化利用new为数组类型变量分配内存空间;
4.在九九乘法表中,两个连着的中括号分别是行和列,打印结果时print()用于向控制台输出语句,执行完后不会换行,但是println()方法,每次执行完后都会自动换行。