一、数组有一维数组、二维数组之分。像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];下面给出数组的应用:原子类型数组:
程序调用自身的编程技巧称为递归,一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。用递归思想写出的程序往往十分简洁易懂。 如一般格式为:
class 方法名(){方法名();}.
现在运用递归的方法写出一个乘法表:
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);
}
}