java 使用for循環打印楊輝三角形


首先需要說明的問題: 什么是楊輝三角形?

 

如圖所示:楊輝三角形由數字排列,基本的特點是兩側的數值均為1,其它位置的數值是基正上方的數值與其左上方的數值之和.

代碼實現:

package test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;

public class Demo{public static void main(String[] args) throws Exception{
        
//        scanner();
//        redirectOutputStream();
//        encode();
        triangle();
    }

    @SuppressWarnings("resource")
    public static void scanner()
    {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入你的名字:");
        String line = scanner.nextLine();
        System.out.println(line);
    }
    
    public static void redirectOutputStream(){
     //重定向系統輸出流
        //D:\Users\Hoonick_Cheng\Desktop\stack.txt
        try
        {
            PrintStream out = System.out;
            String filePath = "D:"+ File.separator + "Users"+File.separator
                    +"Hoonick_Cheng"+File.separator+"Desktop"+File.separator+"log.txt";
            PrintStream ps = new PrintStream(filePath);
            System.setOut(ps);
            int age = 18;
            System.out.println("定義對象年齡為: " + age);
            String sex = "男";
            System.out.println("定義對象性別為: " + sex);
            String info = "這是個" + sex + "孩子,已經" + age + "歲了!";
            System.out.println("整合兩個變量為: " + info);
            System.setOut(out);
            System.out.println("程序運行完畢,請查看日志文檔!");
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
    }

    public static void encode(){
        //數A與數B異或兩次得到的還是A,可以用於簡單的加密解密
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入一個英文字符串或解密字符串:");
        String password = scanner.nextLine();
        char[] charArray = password.toCharArray();
        for (int i = 0; i < charArray.length; i++)
        {
            charArray[i] = (char) (charArray[i] ^ 20000);
        }
        
        System.out.println("加密或解密的結果如下:");
        System.err.println(new String(charArray));
    }

    public static void triangle(){
        int arr[][] = new int[10][];
        for (int i = 0; i < arr.length; i++)
        {
            arr[i] = new int[i+1];
            for (int j = 0; j <=i; j++)
            {
                if (i==0||j==0||j==i)
                {
                    arr[i][j] = 1;//兩側的數值均為1
                }else {
                    arr[i][j] = arr[i-1][j] + arr[i-1][j-1];//正上方的數值與其左上方的數值之和
                }
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM