Java实验3 方法与数组
实验目的:
(1)掌握一维数组和二维数组的定义、初始化方法。
(2)了解和初步应用java.lang.Math类的random()方法处理实际问题。
(3)了解增强for循环,并使用增强for循环顺序访问数组元素。
(4)掌握String类中split方法、charAt方法以及length方法的使用。
(5)掌握Double、Integer等数据包装类的parseDouble、parseInt等方法。
(6)掌握数组的length属性的应用
实验内容:
(1)foreach循环
编写一个程序,使用命令行参数的方式从控制台读入一组整数,利用foreach循环对其进行求和并输出结果。
程序源代码
import java.util.Scanner;
public class sum {public static void main(String args[]) {Integer[] num = new Integer[5];Scanner input = new Scanner(System.in);for(int i=0;i<5;i++)num[i]=input.nextInt();int sum = 0;//foreach循环for(int i:num)sum+=i;System.out.println(sum);}
}
程序运行结果贴图
(2)分别用一维数组(例子数组如下 { 7, 4, 3, 9, 0, 6 })实现冒泡排序、选择排序和插入排序中的两种排序算法,程序中要求加注释。
程序代码:
运行结果贴图:
(3)编写程序实现两个矩阵的相加、相乘。
要求程序运行结果形如如下显示:
Array c
1 2 3
4 5 6
7 8 9
Array d
2 2 2
1 1 1
3 3 3
Array c+d
3 4 5
5 6 7
10 11 12
Array c*d
13 13 13
31 31 31
49 49 49
程序代码:
运行结果贴图:
(4)将用“;”和“,”分割的包含数字字符的字符串“23, 21.3, 33;34, 2, 1.9, 2.1;3, 3, 1, 3, 4, 4.9”中的数据解析出来放在一个double类型的二维数组中,以分号分割二维数组的每一行,以逗号分割每行中的各个元素。(利用String 的split方法)
程序代码:
public class number {public static void main (String args[]){String[]str = ("3, 21.3, 33; 34, 2, 1.9, 2.1; "+ "3, 3, 1, 3, 4, 4.9").split(";");//将每一行分开double [][]num = new double[str.length][]; //建立最终的储存数组for(int i = 0;i < str.length;i++){String []temp = str[i].split(","); //在某行中数字按","分开num[i] = new double[temp.length];for(int j = 0;j < temp.length;j++)num[i][j] = Double.parseDouble(temp[j]); //转换为double数组}for(int i = 0;i < num.length;i++){for(int j = 0;j < num[i].length;j++){System.out.print(num[i][j]+" ");}System.out.println();}}
}
运行结果贴图:
(5)查看帮助、编写例子
利用System类中的arraycopy()方法复制数组。
分别用Arrays类中的sort方法和binarySearch方法实现数组的排序和折半查找。
程序代码:
import java.util.Arrays;public class text5 {public static void main (String args[]){int []a = {1,6,8,4,2,13,5,7,9,10};//输出原数组for(int i = 0;i < a.length;i++)System.out.print(a[i]+" ");//复制数组并输出int[] a1 = new int[a.length];System.arraycopy(a, 0, a1, 0, a.length);System.out.println("\n复制之后的数组:");for(int i = 0;i < a1.length;i++)System.out.print(a1[i]+" ");//对数组排序Arrays.sort(a1);System.out.println("\n排序之后的数组:");for(int i = 0;i < a1.length;i++)System.out.print(a1[i]+" ");}
}
运行结果贴图:
(6)随机生成100个小写字母,统计每个字母出现的次数,并显示出来。
(利用Math.random()方法随机产生)
程序代码:
public class test3_6 {public static void main(String []args){char []s = new char[100];char a = 'a';//随机产生小写字母for(int i = 0;i < 100;i++){s[i] = (char)( 'a' + Math.floor(Math.random()*('z'-'a'+1)) );}int []num = new int[26];//统计字母个数for(int i =0;i < 99;i++)num[s[i]-a] = num[s[i]-a] + 1;for(int i =0;i < 99;i++){System.out.print((char)(a+i) + " : " + num[i] + " ");if(i%5==0)System.out.println();}}
}
运行结果贴图:
(7)建立一个不规则的二维数组如下,并在控制台显示,数组如下
1 3 5
2 4 6 8
1 9 16 25 36
10 20 30
1 2 3 4 5 6
程序代码:
public class Test7{public static void main(String[] args) {int[][] a = new int[5][];a[0] = new int[3];a[1] = new int[4];a[2] = new int[5];a[3] = new int[3];a[4] = new int[6];//赋值for (int i = 0; i < a.length; i++) {for (int j = 0; j < a[i].length; j++) {a[i][j] = (int)(Math.random()*100+1);System.out.print(a[i][j]+" ");}System.out.println();}}}
运行结果贴图:
(8)编写两个重载的方法分别交换两个整型变量,和整型数组的第一个和第二个元素,运行并分析结果
程序代码:
class Num {int number;public Num(int number){this.number=number;}
}public class test3_8 {public static void main(String []args){Num a = new Num(1);Num b = new Num(2);int []c = {3,4};System.out.println("交换前:");System.out.println("a=" + a.number + " " + "b=" + b.number);System.out.println("c[0]=" + c[0] + " " + "c[1]=" + c[1]);swap(a,b);swap(c);System.out.println("交换后:");System.out.println("a=" + a.number + " " + "b=" + b.number);System.out.println("c[0]=" + c[0] + " " + "c[1]=" + c[1]);}public static void swap(Num a,Num b){int temp = a.number;a.number = b.number;b.number = temp;}public static void swap(int []c){int t;t = c[0];c[0] = c[1];c[1] = t;}
}
运行结果贴图:
Java实验3 方法与数组相关推荐
- JAVA不同类型数组重载_java学习笔记--java中的方法与数组
方法 完成特定功能的代码块 方法的格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){ //方法体 return 返回值: } 方法的调用方式 通过方法名调用方法 根据形 ...
- java中如何返回四维数组_如何从Java中的方法返回数组?
我们可以从Java中的方法返回Java中的数组.在这里,我们有一个createArray()方法,通过从用户那里获取值来动态创建一个数组并返回创建的数组. 示例import java.util.Arr ...
- java使用数组排序方法_java数组中的排序问题(冒泡排序方法的实现,及内置排序算法的应用)...
在编程过程中对数组的运用也是很关键的,我们往往需要利用到数组,其中有一点就是当涉及到数组的排序问题,我们应该如何解决? 今天我来介绍两种常用的排序方法 一,冒泡排序序法 冒泡排序的原理: 1.比较相邻 ...
- java数组排序法方法_JAVA数组中五种常见排序方法
前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...
- Java的native方法返回数组return Array(C语言)
名为RungeKutta.c内的代码: float raypath_nray_xz_nt[nsx*na*2*nt]; 期间进行该c数组的计算 申请java在C语言中的数组: jfloatArray f ...
- java数组显示最大值,java 如何用方法在数组中找到最大值并显示他的名称?
public static void sub(int racetime[], String name[]) { int maxIndex = 0; // 记录racetime最大值的下标 for (i ...
- java实验报告 05 类与_java程序设计类与方法-java实验报告
java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...
- java数组使用实验报告_JAVA数组与类的定义-java实验报告
JAVA数组与类的定义-java实验报告 JAVA数组与类的定义-java实验报告 .实验目的与要求 1. 熟悉Java类.对象和方法的一般操作练习等. 2. 熟悉数组等的定义和使用. 二.实验内容及 ...
- java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期
继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. public static void test() throwsException { ...
最新文章
- 600余名外出务工者免费乘高铁“返乡专列”回云南过春节
- Linux创建文件系统的命令及xfs文件系统介绍
- 【机器视觉】 if算子
- vue中 mock使用教程
- python123添加列表元素_Python之列表
- HDU1753 大明A+B【大数】
- 学习python的第六天---1(理论)
- C++模式-Proxy
- 关于清除贴图与光域网路径
- 你是否了解新媒体,新媒体简介
- 读书笔记——《灰度决策:如何处理复杂、棘手、高风险的难题》
- Hp-Socket高性能网络库介绍零--整体结构
- dnf丢失clientbase_登录dnf时出现dnfbase.dll的丢失
- 文件管理服务器搭建教程,文件服务器搭建教程
- jquery使用 validate 插件进行验证是否通过
- java 句柄无效_java.io.IOException:句柄无效
- flink 复postgresql数据库数据
- Android 使用Ant编译Android 工程
- nacos get changed dataId error, code: 403
- 【电脑使用】硬盘无法引导进入系统,无法退出BIOS