实验目的:

(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 方法与数组相关推荐

  1. JAVA不同类型数组重载_java学习笔记--java中的方法与数组

    方法 完成特定功能的代码块 方法的格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){ //方法体 return 返回值: } 方法的调用方式 通过方法名调用方法 根据形 ...

  2. java中如何返回四维数组_如何从Java中的方法返回数组?

    我们可以从Java中的方法返回Java中的数组.在这里,我们有一个createArray()方法,通过从用户那里获取值来动态创建一个数组并返回创建的数组. 示例import java.util.Arr ...

  3. java使用数组排序方法_java数组中的排序问题(冒泡排序方法的实现,及内置排序算法的应用)...

    在编程过程中对数组的运用也是很关键的,我们往往需要利用到数组,其中有一点就是当涉及到数组的排序问题,我们应该如何解决? 今天我来介绍两种常用的排序方法 一,冒泡排序序法 冒泡排序的原理: 1.比较相邻 ...

  4. java数组排序法方法_JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  5. Java的native方法返回数组return Array(C语言)

    名为RungeKutta.c内的代码: float raypath_nray_xz_nt[nsx*na*2*nt]; 期间进行该c数组的计算 申请java在C语言中的数组: jfloatArray f ...

  6. java数组显示最大值,java 如何用方法在数组中找到最大值并显示他的名称?

    public static void sub(int racetime[], String name[]) { int maxIndex = 0; // 记录racetime最大值的下标 for (i ...

  7. java实验报告 05 类与_java程序设计类与方法-java实验报告

    java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...

  8. java数组使用实验报告_JAVA数组与类的定义-java实验报告

    JAVA数组与类的定义-java实验报告 JAVA数组与类的定义-java实验报告 .实验目的与要求 1. 熟悉Java类.对象和方法的一般操作练习等. 2. 熟悉数组等的定义和使用. 二.实验内容及 ...

  9. java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期

    继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. public static void test() throwsException { ...

最新文章

  1. 600余名外出务工者免费乘高铁“返乡专列”回云南过春节
  2. Linux创建文件系统的命令及xfs文件系统介绍
  3. 【机器视觉】 if算子
  4. vue中 mock使用教程
  5. python123添加列表元素_Python之列表
  6. HDU1753 大明A+B【大数】
  7. 学习python的第六天---1(理论)
  8. C++模式-Proxy
  9. 关于清除贴图与光域网路径
  10. 你是否了解新媒体,新媒体简介
  11. 读书笔记——《灰度决策:如何处理复杂、棘手、高风险的难题》
  12. Hp-Socket高性能网络库介绍零--整体结构
  13. dnf丢失clientbase_登录dnf时出现dnfbase.dll的丢失
  14. 文件管理服务器搭建教程,文件服务器搭建教程
  15. jquery使用 validate 插件进行验证是否通过
  16. java 句柄无效_java.io.IOException:句柄无效
  17. flink 复postgresql数据库数据
  18. Android 使用Ant编译Android 工程
  19. nacos get changed dataId error, code: 403
  20. 【电脑使用】硬盘无法引导进入系统,无法退出BIOS

热门文章

  1. oracle update 改为 merge
  2. mysql数据库修改排序规则
  3. 举枪消灭烂代码的实战案例
  4. 博弈论初步(SG函数)
  5. Laravel 数据库实例教程 —— 使用DB门面操作数据库
  6. Linux 查看dns运行状态
  7. python2与python3在windows下共存
  8. GoogleProgressBar
  9. ASP.NET 通用 权限 管理系统
  10. 昨天,面试了一个安全工程师,她的回答让我耳目一新