134讲2道题1.打印正倒金字塔 2.打印9*9乘法表
内容纲要

134讲2道题1.打印正倒金字塔 2.打印9*9乘法表

package main.dayone;

import java.util.Scanner;

 public class Triangle extends Mode{
    public static void main(String[] args) {
        //输出正金字塔和倒金字塔:
        //金字塔层数:5;
        //种类:1.金字塔 2.倒金字塔
        //    *         4个空格,   1个* =2*1-1
        //   ***        3个空格,   3个* =2*2-1
        //  *****       2个空格,   5个* =2*3-1
        // *******      1个空格,   7个* =2*4-1
        //*********     0个空格,   9个* =2*5-1
        //定义变量i来确定层数,j来确模式。
        //创建一个自增的层数,用来控制 * 的个数的输出
        //
        Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入金字塔类型:1代表正金字塔,2代表倒金字塔,3代表空心菱形:");
        int j = myScanner.nextInt();
        System.out.println("请输入金字塔层数:");
        int count = myScanner.nextInt();
        //三角形种类的选择
        switch(j){
            case 1:
                Mode.regularTriangle(count);
                break;
            case 2:
                Mode.invertTriangle(count);
                break;
            case 3:
                Mode.diamond(count);
                break;
            default:
                System.out.println("你输入的有误:");
        }
    }

}

class Mode extends Diamond{
     static void regularTriangle(int count){
        //正金字塔
        for (int i = 1; i <= count; i++) { //i作为自增层用来表示第一层、第二层。。。
            for (int x = count - i; x >= 0; x--) { //x--用于迭代,检测下一循环x是否小于0,i在循环外并不能影响到这个循环的迭代
                System.out.print(" ");
            }
            for (int star = 1; star <= 2 * i - 1; star++) {
                System.out.print("*");

            }
            System.out.println();
        }
        //倒金字塔
        //*********  //9个*=2^count-1 0个空格
        // *******   //7个*=2^i-1
        //  *****
        //   ***
        //    *
    }
     static void invertTriangle(int count) {
        for (int i = 1; i <= count; i++) {
            for (int space = i - 1; space >= 0; space--) {
                System.out.print(" ");
            }
            for (int star = 1; star <= 2 * (count - i) + 1; star++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
class Diamond{
     //打印出菱形
     //         *
    //         * *
    //        *   *
    //       *     *
    //      *       *
    //       *     *
    //        *   *
    //         * *
    //          *
    //思路分析1.先打印出上三角,后打印出下三角。for循环打印。
    // 提前定义层数(边界最远到顶端的层)count
    // 先思考打印实心菱形。 -->此项完成
    // 思考怎么挖空心
     static void diamond(int count){
            for(int i = 1;i <= count;i++) {// 层数辅助下方打印三角形菱形变量控制
                int space = 0;
                do{
                    space++;
                    System.out.print(" ");
                }while(space <= count -i);// do...while循环控制打印空格
                for (int star = 1; star <= 2 * i - 1; star++) { //此处循环打印*
                    if(star <= 2*i - 2 && star >= 2){ //有意思,控制else只输出第一个*和最后一个*,
                                                        // 其余都输出空格
                        System.out.print(" ");
                    }else{
                        System.out.print("*");
                    }
                }
                System.out.println();
            }
            for(int i = count;i >= 1;i--){
                int space = 0;
                do{
                    space++;
                    System.out.print(" ");//打印输出*前空格
                }while(space <= count - i + 1);//do...while打印输出空格
                for(int star = (i-1)*2 - 1;star >= 1 ;star--){//打印输出*(根据动态层数i的变化)
                    if(star >= 2 && star <= (i-1)*2 - 2) {
                        System.out.print(" ");
                    }else{
                        System.out.print("*");
                    }
                }
                  System.out.println();
            }
     }
}
package main.dayone;

public class Multiply {
    public static void main(String[] args) {
        //打印9*9乘法表
        //使用循环结构
        //思路分析
        //1.先定义一个递增的变量i与j,i <= 9; j <= 9;
        //2.通过for循环或者while? 或者do...while循环实现自动计算生成
        //3.嵌套实现
        //4.解决间隔问题。

        int i = 1;
        int j;
        for(;i <= 9; i++) {

            for (j = 1; j <= i; j++) {
                System.out.print(i + "*" + j + "=" + i * j);
                System.out.print("    ");
            }
            System.out.println("");
        }
    }
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇