zoukankan      html  css  js  c++  java
  • java基础08 双重循环打印图形

    public class Double01 {
        /**
         * 若有3个班级各4名学员参赛,
         * 如何计算每个班级参赛学员的平均分?
         */
        public static void main(String[] args) {
            // 创建一个2维数组保存数据
            double[][] scores = new double[3][4];
            // 循环输入学员的成绩
            Scanner scanner = new Scanner(System.in);
            // 定义一个变量 保存每个班级的总分
            double sum = 0;
            // 01.外层循环控制班级数
            for (int i = 0; i < scores.length; i++) {
                System.out.println("请您输入第" + (i + 1) + "个班级的学生成绩************");
                // 02.内层循环控制学生人数
                for (int j = 0; j < scores[i].length; j++) {
                    System.out.println("请您输入第" + (j + 1) + "个学生成绩");
                    scores[i][j] = scanner.nextDouble();
                    sum += scores[i][j];
                }
                System.out.println("第" + (i + 1) + "个班级的平均分是:"
                        + (sum / scores[i].length));
                // 总分清零 为了下个班级的总分计算
                sum = 0;
            }
        }
    }
    1.计算每个班级平均分
    public class Double02 {
        /**
         *  直角三角形
         */
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请您输入需要显示的行数:");
            int num = scanner.nextInt();
            // 外层循环控制行数
            for (int i = 1; i <= num; i++) {
                for (int j = 1; j <= 2 * i - 1; j++) {
                    System.out.print("*");
                }
                System.out.println(); // 换行
            }
            System.out.println("========================");
            // 倒三角
            for (int i = 1; i <= num; i++) {
                for (int j = 1; j <= num + 1 - i; j++) {
                    System.out.print("*");
                }
                System.out.println(); // 换行
            }
        }
    }
    2.打印直角三角形
    public class Double03 {
        /**
         *  九九乘法表
         */
        public static void main(String[] args) {
            // 外层循环控制行数
            for (int i = 1; i <= 9; i++) {
                // 内层循环控制列 j<=i
                for (int j = 1; j <= i; j++) {
                    System.out.print(i + "*" + j + "=" + (i * j) + "	");
                }
                System.out.println();
            }
        }
    }
    3.打印九九乘法表
    public class Double04 {
        /**
         *  冒泡排序
         *  01.外层循环N-1   (N:数组的长度)
         *  02.内层循环N-1-i (i:比较的轮数,外层循环的变量)
         *  03.两两相比 小靠前!必须进行等量转换!互换位置!
         */
        public static void main(String[] args) {
            int[] nums = { 80, 20, 25, 30, 1, 8, 100, 72, 50 };
            // 外层循环控制轮数
            for (int i = 0; i < nums.length - 1; i++) {
                // 内层循环控制比较次数
                for (int j = 0; j < nums.length - 1 - i; j++) {
                    // 两两相比 小靠前! 如果后面的小,需要和前面的数据互换位置
                    if (nums[j + 1] < nums[j]) {
                        int temp = 0;
                        temp = nums[j + 1];
                        nums[j + 1] = nums[j];
                        nums[j] = temp;
                    }
                }
            }
            System.out.println("排序之后的数组:" + Arrays.toString(nums));
        }
    }
    4.冒泡排序
    public class Double05 {
        /**
         * 若有3个班级各4名学员参赛,
         * 如何计算每个班级参赛学员的平均分?
         * 计算成绩大于85分的学生数量
         */
        public static void main(String[] args) {
            // 创建一个2维数组保存数据
            double[][] scores = new double[3][4];
            // 循环输入学员的成绩
            Scanner scanner = new Scanner(System.in);
            // 定义一个变量保存 大于85分的学生数量
            int count = 0;
            // 01.外层循环控制班级数
            for (int i = 0; i < scores.length; i++) {
                System.out.println("请您输入第" + (i + 1) + "个班级的学生成绩************");
                // 02.内层循环控制学生人数
                for (int j = 0; j < scores[i].length; j++) {
                    System.out.println("请您输入第" + (j + 1) + "个学生成绩");
                    scores[i][j] = scanner.nextDouble(); // 获取学生成绩
                    if (scores[i][j] < 85) {
                        continue; // 如果分数少于85 不计算次数
                    }
                    count++;
                }
            }
            System.out.println("85分以上的学生人数是:" + count);
        }
    }
    5.成绩大于85分的学生数
    public class Double07 {
        /**
         * 有3名顾客去商场购物,每人买3件商品
            商品单价300元以上的商品享受8折优惠
            请统计每人享受打折优惠的商品的数量
         */
        public static void main(String[] args) {
            // 保存顾客打折的商品数量
            int count = 0;
            double price = 0;
            Scanner scanner = new Scanner(System.in);
            // 控制顾客的数量
            for (int i = 1; i <= 3; i++) {
                System.out.println("请输入第" + i + "名顾客购买的商品价格");
                for (int j = 1; j <= 3; j++) {
                    price = scanner.nextDouble();
                    if (price < 300) {
                        continue;
                    }
                    count++;
                }
                System.out.println("第" + i + "名顾客打折的商品数量:" + count);
                count = 0;
            }
        }
    }
    6.统计打折商品数量

    // 正三角形
            for (int i = 1; i <= 5; i++) {
                // 先输出空格
                for (int j = 1; j <= 5 - i; j++) {
                    System.out.print(" ");
                }
                // 打印 *
                for (int j = 1; j <= 2 * i - 1; j++) {
                    System.out.print("*");
                }
                System.out.println();
    
            }
    7.正三角形
     // 打印平行四边形
            for (int i = 1; i <= 5; i++) {
                for (int j = 1; j <= 5 - i; j++) { // 空格
                    System.out.print(" ");
                }
                for (int j = 1; j <= 5; j++) { // *
                    System.out.print("*");
                }
                System.out.println();
            }
    8.打印平行四边形
     // 正三角形
            for (int i = 1; i <= 5; i++) {
                // 先输出空格
                for (int j = 1; j <= 5 - i; j++) {
                    System.out.print(" ");
                }
                // 打印 *
                for (int j = 1; j <= 2 * i - 1; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
            // 倒三角形
    
            for (int i = 1; i <= 4; i++) {
                for (int j = 1; j <= i; j++) { // 空格
                    System.out.print(" ");
                }
                for (int j = 1; j <= 9 - 2 * i; j++) { // *
                    System.out.print("*");
                }
                System.out.println();
            }
    9.打印菱形

    @Test
        public void test01() {
            /**
             * 循环录入某学生5门课的成绩并计算平均分,
             * 如果某分数录入为负,停止录入并提示录入错误
             */
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您的姓名:");
            String name = scanner.next();
            double sum = 0;
            // 循环获取用户的成绩
            for (int i = 1; i <= 3; i++) {
                System.out.println("请输入第" + i + "门课程的成绩:");
                double score = scanner.nextDouble();
                // 如果输入了负数 则跳出循环体
                if (score < 0) {
                    System.out.println("您的输入有误!");
                    break;
                }
                sum += score; // 计算总成绩
            }
            // 对数字进行格式化
            DecimalFormat df = new DecimalFormat("#.00");
            System.out.println("平均分为:" + df.format((sum / 3)));
        }
    
        @Test
        // 10以内的整数相加,值大于20的时候输出并且跳出循环
        public void test02() {
            int sum = 0;
            for (int i = 1; i <= 10; i++) {
                sum += i;
                if (sum > 20) {
                    System.out.println(sum);
                    break;
                }
            }
        }
    
        /**
         * 循环录入Java课的学生成绩,
         * 统计分数大于等于80分的学生比例 
         */
        @Test
        public void test03() {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请您输入班级的人数:");
            int total = scanner.nextInt(); // 总人数
            double score = 0; // 成绩
            int sum = 0;// 记录大于80分的人数
            for (int i = 1; i <= total; i++) { // 循环录入成绩
                System.out.println("请输入第" + i + "门课程的成绩:");
                score = scanner.nextDouble();
                if (score >= 80) { // 如果成绩大于80 sum++
                    sum++;
                    continue; // 结束本次循环 执行i++语句 继续执行下次的循环
                }
                System.out.println("小于80分 才能执行这句话!");
            }
            // 输出百分比 sum(大于80)/total(总人数)
            DecimalFormat df = new DecimalFormat("#.00%");
            System.out.println("80分以上的百分比是:" + df.format(sum / (total + 0.0)));
        }
    
        @Test
        // 1-10之间的偶数和
        public void test04() {
            int sum = 0;
            for (int i = 1; i <= 10; i++) {
                if (i % 2 != 0) { // 奇数就要不相加
                    continue;
                }
                sum += i;
            }
            System.out.println("偶数和是:" + sum);
    
        }
    
        @Test
        // 双重循环中的 continue
        public void test05() {
            for (int i = 1; i <= 2; i++) {
                for (int j = 1; j <= 3; j++) {
                    if (j == 2) {
                        break;
                    }
                    System.out.println("j" + j);
                }
            }
            Scanner scanner = new Scanner(System.in);
            String next = scanner.next();
            System.out.println(next);
        }
    10.循环小练习
  • 相关阅读:
    makefile中的wildcard和patsubst
    makefile中=,:=,?=,+=区别
    hash函数查找和ASL计算
    ubuntu apt-get提示no dependencys怎么办
    增广贤文是不多的古典珍宝之一
    如何打印查看c++stack<..>中的内容(不使用pop,top)
    c/c++标准IO重定向
    c/c++使用#define,#ifdef,#endif将debug代码分离
    未完待续
    c++重载覆盖重定义多态其他别名区别
  • 原文地址:https://www.cnblogs.com/areyouready/p/6700297.html
Copyright © 2011-2022 走看看