码迷,mamicode.com
首页 > 编程语言 > 详细

Java范例集锦(三)

时间:2017-11-11 11:36:51      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:下标   rate   特征   generated   else   输出   遇到   自己的   bsp   

范例1. 循环体的过滤

 

public class CycleFilter {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String[] array=new String[] {"白鹰","丹顶鹤","白鹭","鹦鹉","黄鹂","老鹰","乌鸦","喜鹊","老鹰",
                "布谷鸟","老鹰","麻雀","老鹰","百灵鸟"};                                    //创建数组
        System.out.println("在我的花园里有很多鸟类,但是最近来了几只老鹰,请帮我把它抓走。");
        int eagleCount=0;
        for(String str:array) {                                //foreach遍历数组
            if(str.equals("老鹰")) {                            //如果遇到老鹰
                System.out.println("发现一只老鹰,已装到笼子里。");
                eagleCount++;
                continue;                                    //中断循环
            }
            System.out.println("搜索鸟类,发现了:"+str);            //否则输出数组元素
        }
        System.out.println("一共捉到了:"+eagleCount+"只老鹰");        
    }

}

  执行结果如下:

在我的花园里有很多鸟类,但是最近来了几只老鹰,请帮我把它抓走。
搜索鸟类,发现了:白鹰
搜索鸟类,发现了:丹顶鹤
搜索鸟类,发现了:白鹭
搜索鸟类,发现了:鹦鹉
搜索鸟类,发现了:黄鹂
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:乌鸦
搜索鸟类,发现了:喜鹊
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:布谷鸟
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:麻雀
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:百灵鸟
一共捉到了:4只老鹰

范例2. 使用for循环输出空心的菱形

  输出空心菱形图案,在很多种场合碰到过类似案例,此范例利用for循环的嵌套使用,示例如下:

public class DiamDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        printRhomebus(10);
    }
    public static void printRhomebus(int size) {
        if(size % 2==0) {
            size++;                    //计算菱形大小
        }
        for(int i=0;i<size/2+1;i++) {
            for(int j=size/2+1;j>i+1;j--) {
                System.out.print("  ");            //输出左上角位置的空白
            }
            for(int j=0;j<2*i+1;j++) {
                if(j==0||j==2*i) {
                    System.out.print("*");    //输出菱形上半部边缘
                }else {
                    System.out.print("  ");
                }
            }
            System.out.println("  ");
        }
        for(int i=size/2+1;i<size;i++) {
            for(int j=0;j<i-size/2;j++) {
                System.out.print("  ");        //输出菱形左下角空白
            }
            for(int j=0;j<2*size-1-2*i;j++) {
                if(j==0||j==2*(size-i-1)) {
                    System.out.print("*");    //输出菱形下半部边缘
                }else {
                    System.out.print("  ");
                }
            }
            System.out.println("  ");
        }
    }

}

  执行结果如下(空字符串的大小决定菱形的宽窄,上示例两个空格键):

          *  
        *  *  
      *      *  
    *          *  
  *              *  
*                  *  
  *              *  
    *          *  
      *      *  
        *  *  
          *  

范例3. 使用for循环输出杨辉三角

  杨辉三角形由数字排列,可以把它看作一个数字表,其基本特征是两侧数值均为1,其他位置的数值是其正上方的数值与左上角数值之和。示例代码如下:

public class YhTriangle {
    public static void main(String args[]) {
        int triangle[][]=new int[12][];                //创建二维数组,并确定一维的长度
        for(int i=0;i<triangle.length;i++) {        //遍历二维数组的第一层
            triangle[i]=new int[i+1];                //初始化第二层数组的大小
            for(int j=0;j<=triangle[i].length-1;j++) {    //遍历第二层数组
                if(i==0||j==0||j==triangle[i].length-1) {    //将两侧的数组元素赋值为1
                    triangle[i][j]=1;
                }else {                                        //其他数值通过计算
                    triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
                }
                System.out.print(triangle[i][j]+"\t");        //输出数组元素
            }
            System.out.println();
        }
    }
}

  执行结果是:

1    
1    1    
1    2    1    
1    3    3    1    
1    4    6    4    1    
1    5    10    10    5    1    
1    6    15    20    15    6    1    
1    7    21    35    35    21    7    1    
1    8    28    56    70    56    28    8    1    
1    9    36    84    126    126    84    36    9    1    
1    10    45    120    210    252    210    120    45    10    1    
1    11    55    165    330    462    462    330    165    55    11    1

范例4. 数值

  4.1. 合法的声明数值及初始化示例

int arr[];  //声明int型数组
String[] str;    //声明String型数组

int[] arr=new int[]{3,6,7,10,22};//声明数值并初始化值
int arr2={2,3,5,8};
int month[]=new int[12]; //声明数值并分配内存

int myarr[][]; //声明int型二维数组
myarr=new int[3][6];    //为二维数组每一维分配相同内存


//分别为每一维单独分配内存
myarr=new int[3][];
myarr[0]=new int[3];
myarr[1]=new int[4];
myarr[2]=new int[5];

int myarr2[][]={{10,12},{20,22}};    //初始化二维数组

 

  4.2. 求一维数组各元素之和

  一维数组每个元素都有自己的值,使用for循环根据数组的下标,将数组的每个元素的值相加求和。示例如下:

public class SumNum {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] num= {12,13,22,33,35,36};        //创建并初始化一维数组num
        int sum=0;                            //进行累加求和的变量sum,并赋初值为0
        for(int i=0;i<6;i++) {                //通过for循环遍历数组
            if(i==5) {                        //判断数组的下标是否是5
                System.out.print(num[i]+"=");    //数组元素的下标是5,输出等号
            }else {
                System.out.print(num[i]+"+");    //否则输出加号
            }
            sum=sum+num[i];                        //进行累加求和
        }
        System.out.println(sum);                //输出和
    }

}

  执行其结果是:12+13+22+33+35+36=151

  4.3. 规则二维数组示例

  对于整型数组,创建成功之后系统会自动赋值给数组中每个元素初始化值0.

public class Matrix {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("*******输出一个3行5列且所有元素都是0的矩陈*******");
        int a[][]=new int[3][5];            //定义二维数组,并默认每一个元素都为0
        for(int i=0;i<a.length;i++) {
            for(int j=0;j<a[i].length;j++) {    //循环遍历数组中的每个元素
                System.out.print(a[i][j]+" ");
            }
            System.out.println();            //输出空格
        }
        System.out.println("*******输出初始化的二维数组中的元素*******");
        int b[][]= {{11,12,13,14},
                {21,22,23,24},
                {31,32,33,34}};
        for(int i=0;i<b.length;i++) {
            for(int j=0;j<b[i].length;j++) {
                System.out.print(b[i][j]+"\t");
            }
            System.out.println();
        }
    }

}

  执行结果是:

*******输出一个3行5列且所有元素都是0的矩陈*******
0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 
*******输出初始化的二维数组中的元素*******
11    12    13    14    
21    22    23    24    
31    32    33    34    

  4.4. 三维数组

  三维数组的声明与一维、二维数组类似,初始化三维数组时,由3层大括号进行初始化。示例如下:

public class ThirdArr {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr[][][]=new int[][][] {
            {{10,20,30},{40,50,60}},
            {{11,21,31},{41,51,61}},
            {{12,22,32},{42,52,62}}
        };                                //创建三维数组
        for(int i=0;i<arr.length;i++) {    //遍历数组
            System.out.println("三维数组的第"+(i+1)+"个元素是一个"+arr[0].length+"维数组,内容如下:");
            for(int j=0;j<arr[0].length;j++) {//遍历数组
                for(int k=0;k<arr[0][0].length;k++) {
                    System.out.print(arr[i][j][k]+"\t");
                }
                System.out.println();
            }
        }
    }

}

  执行结果是:

三维数组的第1个元素是一个2维数组,内容如下:
10    20    30    
40    50    60    
三维数组的第2个元素是一个2维数组,内容如下:
11    21    31    
41    51    61    
三维数组的第3个元素是一个2维数组,内容如下:
12    22    32    
42    52    62    

 

Java范例集锦(三)

标签:下标   rate   特征   generated   else   输出   遇到   自己的   bsp   

原文地址:http://www.cnblogs.com/lxh168/p/7816985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!