数组的定义及递归的运用

一、数组有一维数组、二维数组之分。像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);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值