`
xiaozhouzhou
  • 浏览: 13386 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

数组的定义及递归的运用

阅读更多
一、数组有一维数组、二维数组之分。像int[] ia就是一维数组,int[][] ia就可称为二维数组。数组的定义方式有三种:1、直接指定数组的长度:int[] ia=new int[10];2、在创建数组时给数组中的元素赋值:int[] ia=new int[]{4,8,19};3、仅定义一个数组变量名,然后再来赋值int[] ia;ia=new int[10];下面给出数组的应用:原子类型数组:
import java.util.Random;
public class Array {
	public static void showUI(){
		//创建数组
		int[] ia=new int[15];
		//存入数组
		for(int i=0;i<ia.length;i++){
			ia[i]= new Random().nextInt(100);
			}
		//打印数组
		for(int j=0;j<ia.length;j++){
			int a=ia[j];
			System.out.println("得到的随机数是:"+a);
				}
		}
		public static void main (String[]args){
			showUI();
	}
}
对象数组的运用:
import java.util.Scanner;
public class StudentManage {
	public static void main(String[]args){
		int count=0;
		System.out.println("请输入要管理的学生数:");
		Scanner sc=new Scanner(System.in);//实例化输入对象
		int number =sc.nextInt();//输入管理学生数
			 Students[] sts=new Students[50];//创建学生对象数组
		 while(count<number){
			 Students st=new Students();//实例化学生对象
			 System.out.println("请输入学生姓名:");
			 String name=sc.next();//输入学生名
			 System.out.println("请输入学生年龄:");
			 int age=sc.nextInt();//输入学生年龄
			//属性地址的传递
			 st.name=name;
			 st.age=age;
			 sts[count]=st;
			 count++;
		 }
//调出数组中的值
	for(int i=0;i<number;i++){
		Students s=sts[i];
		System.out.println("输入的学生信息如下:"+"姓名"+s.name+"年龄"+s.age);
	}
	}
}
二、递归的运用;
程序调用自身的编程技巧称为递归,一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。用递归思想写出的程序往往十分简洁易懂。 如一般格式为:
class 方法名(){方法名();}.
现在运用递归的方法写出一个乘法表:
public class Cfb {
		int j;
		public void chengfa(int i,int n){
			if(i==10)
				return;//当i=10程序终止
				for(int b=1;b<i;b++){
					j=i*n;
					System.out.print(i+"*"+n+"="+j+";");
					n++;
				}
				n=i;
				j=i*n;
				System.out.println(i+"*"+n+"="+j+";");
				i++;
				n=1;
				chengfa(i,n);//方法的自身调用
		}
				public static void main(String[]args){
					Cfb cf=new Cfb();
					cf.chengfa(1,1);
				}
}
分享到:
评论

相关推荐

    C语言大纲及课件

    结构数组定义、引用、初始化。  理解:动态数据结构和静态数据结构的区别;指向结构的指针、结构与函数。引用自身的结构,字段结构。  了解:枚举类型的含义、定义和引用;联合,指向联合的指针;结构数组、联合...

    PHP基础讲义pdf版含视频下载地址。

    6. 常量概念及定义方法 10 7. 常量用法详细探讨 12 8. 算术运算符 14 9. 比较运算符及类型转换 15 10. 字符串&赋值运算符及运算返回值 19 11. 逻辑运算符 21 12. 三元及递增递减运算符 26 13. 位运算 28 二、 控制...

    816C语言与数据结构.doc

    指针的各种用法,包括对字符串指针,数组指针,函数指针等的定义和操作,将指针用 作函数参数,以及使用指针进行动态内存管理; 7. 宏定义和头文件; 8. 结构体的定义和操作; 9. 文件操作; 10. 程序调试技术。 三...

    C++Primer Plus学习笔记(三)

    C++ primer plus学习笔记之三,分为一下几个部分: ...函数和二维数组:二维数组作为变量时声明以及定义的使用方法 递归:调用自身函数的使用范例 函数指针:函数的指针作为变量在某些项目中会减少工作量

    C语言程序设计实验报告

    说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编程题第6题:编写程序实现逆波兰运算。 说明:本题考查对程序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解...

    C语言进阶-牟海军.pdf

     堆和栈、全局变量和局部变量、生存期和作用域、内部函数和外部函数、指针变量、指针数组和数组指针、指针函数和函数指针、传址和传值、递归和嵌套、结构体和共用体、枚举、位域等较难理解的核心概念的阐述和对比...

    C语言进阶 作者 Wrestle.Wu

     堆和栈、全局变量和局部变量、生存期和作用域、内部函数和外部函数、指针变量、指针数组和数组指针、指针函数和函数指针、传址和传值、递归和嵌套、结构体和共用体、枚举、位域等较难理解的核心概念的阐述和对比...

    java源码包2

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost...

    c语言课程设计报告通讯录管理系统.doc

    查询函数中,能返回该函数继续查询(运用了递归) 3.使用变量少,仅通过变量i的递加和表示成员数的变量n就实现了数据结构体之间的联 系 4.界面美观,使用方便 5.允许编号输入为字符 6.在显示函数上能够分屏显示...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    求多个整数的和及平均值 82 复合赋值运算符 84 后置递增运算符和后置递减运算符 85 4-2 while语句 87 while语句 87 用递减运算符简化程序代码 88 数据递增 90 限定次数的循环操作 91 字符常量和putchar函数...

    AIC的Java课程1-6章

     理解运用继承和组合两种重用方式定义堆栈和队列,知道两种重用方式的适用场合。  理解使用递归方法构建二叉排序树,前序、中序、后序遍历二叉树。  学习ArrayList与LinkedList类,理解封装数组和...

    909数据结构.doc

    909数据结构 【一】考试差不多要求 要求考生系统地理解数据结构的差不多概念,掌握各种数据结构的定义和实现算法。 要求考生具有抽象思维能力,逻辑推理能力,和综合运用所学的知识分析问题和解决问 题的能力。 【二...

    C 程序指导书及实践指导

    1、掌握数组定义的规则。 2、掌握C语言数组的基本用法。 [实验内容与步骤] 1、编写程序,测试下列数组的定义方式是否正确 (1) main() { int n; scanf(“%d”,&n); int a[n]; …… } (2) main() { const int n=10; ...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript...

    (全)传智播客PHP就业班视频完整课程

    9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript...

    数据结构(C++)有关练习题

    2、掌握并运用递归的概念进行编程; 内容及步骤: 1、 借助堆栈实现单链表上的逆置运算; 要求: a. 用C++编程; b. 首先用C++实现单链表编程,再基于编写好的单链表类,实现堆栈类的定义和实现。...

Global site tag (gtag.js) - Google Analytics