Java编程练习003

11. While循环与自增运算符遍历数组

public class ErgodicArray {
    public static void main(String[] args) {
        String[] aves=new String[]{
                "A","B","c","p"};
        int index=0;
        System.out.println("数组遍历结果为:");
        while (index < aves.length) {
            System.out.println(aves[index++]);
        }
        }
    }

12.for循环输出杨辉三角
二维数组其实是一维数组的每个元素都是另一个一维数组,所以第二维数组长度可以任意。杨辉三角可看为一个数字表,特征是俩测数值均为1,其他位置的数值是其正上方的数值与左上角数值之和。

 import java.util.Scanner;
public class YangHuitriangle {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int row = s.nextInt();
        //根据行数定义二维数组,每一行元素的个数不同,不定义每一行的个数
        int[][] arr=new int[row][];
        //遍历二维数组
        for (int i = 0; i < row; i++) {
            //初始化每一行的这个一维数组
            arr[i] = new int[i + 1];
            for (int j = 0; j <= i; j++) {
                //每一行的开头和结尾都是1,开头时j=0,结尾j=1
                if (j == 0 || j == i) {
                    arr[i][j]=1;
                }else{
                    arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
                }
                System.out.println(arr[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

13. 输出九九乘法表
创建双层for循环,第一层为外层循环,控制表格的行,第二层为内层循环,控制表格的列。第二层循环的控制变量非常重要,条件判断为列数要等于行数的最大值。

public class MultiplicationTable {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.println(j + "*" + "i" + "=" + i * j + "\t");
            }
        }
    }

}

  1. While循环计算1+1/2!+1/3!…1/20!
    使用double精度不够,故用BigDecimal类的实例来完成运算
import java.math.BigDecimal;
public class Jiecheng {
    public static void main(String[] args) {
        BigDecimal sum = new BigDecimal(0.0);
        BigDecimal factorial = new BigDecimal(1.0);
        int i=1;
        while (i <= 20) {
            sum=sum.add(factorial);
            ++i;
            factorial = factorial.multiply((new BigDecimal(1.0 / i)));
        }
        System.out.println(sum);
    }
}

  1. 输出各种图形
    等腰角形
public class Dengyao {

    public static void main(String[] args) {
        for(int i=1;i<=5;i++){//i--控制行
            for(int j=5-i;j>=0;j--){//j--控制空格的数量
                System.out.print(" ");
            }
            for(int k=1;k<=2*i-1;k++){//k--控制*的数量
                System.out.print("*");
            }
            System.out.println();//每循环一次换行
        }
    }
}

打印直角三角形

public class Zhijiao {

    public static void main(String[] args) {
        for(int i=1;i<=5;i++){
            for(int k=1;k<=i;k++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

空心菱形

public class KongxinLingxing {

    public static void main(String[] args) {
        int num = 5;
        for(int i=1;i<=num;i++){
            for(int j=1;j<=num-i;j++){
                System.out.print(" ");
            }
            for(int k=1;k<=2*i-1;k++){
                if(k==1||k==2*i-1){
                    System.out.print("*");
                }
                else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    
        for(int i=1;i<num;i++){
             for(int j=1;j<=i;j++)
                  System.out.print(" ");
             int count = 2*(num-i)-1; 
             for(int k=0;k<count;k++)   {  
                 if(k==0||k==count-1)    
                     System.out.print("*");  
                 else     
                     System.out.print(" "); 
                 }
             System.out.println("");  
             } 
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值