首页 > 代码库 > java08双重循环打印图形

java08双重循环打印图形

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;        }    }}
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(); // 换行        }    }}
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) + "\t");            }            System.out.println();        }    }}
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));    }}
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);    }}
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;        }    }}

 

技术分享
// 九九乘法表 外层循环每执行一次,内层循环执行一遍        for (int i = 1; i <= 9; i++) { // 外层控制的是行数            for (int j = 1; j <= i; j++) {                // 内层控制的是列数                System.out.print(i + "*" + j + "=" + (i * j) + "\t");            }            System.out.println();// 换行        }
九九乘法表

技术分享

 

技术分享
 // 正三角形        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 <= 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();        }
打印菱形

 

技术分享
  // 打印平行四边形        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();        }
平行四边形

 

 =====================循环的小练习================================


 

技术分享
 @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);    }
小练习

 

java08双重循环打印图形