Java之for循环嵌套练习

1.打印4层***

*****
*****
*****
*****
class forfor{
    public static void main(String[] args){
        for(int y=0; y<4; y++){
            for(int x=0; x<5; x++){
                System.out.print("*");
            }
            System.out.println();   
        }
    }
}

2.打印5层*,每层递减

*****
****
***
**
*

第一种方法:

class forfor{
    public static void main(String[] args){
        int z=0;
        for(int y=0; y<5; y++){
            for(int x=z; x<5; x++){
                System.out.print("*");
            }
            System.out.println();
            z++;
        }
    }
}

第二种方法:

class forfor{
    public static void main(String[] args) {
        int z=5;
        for (int y=0; y<5; y++) {
                for (int x=z; x>0; x--) {
                    System.out.print("*");
                }
                System.out.println();
                z--;
            }
    }
}

第三种方法,推荐。

class forfor{
    public static void main(String[] args){
        for (int y=0; y<5; y++) {
            for (int x=y; x<5; x++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

3.打印54321,每层递减

54321
5432
543
54
5
class forfor{
    public static void main(String[] args){
        for (int y=0; y<5; y++) {
            for (int x=5; x>y; x--) {
                System.out.print(x);
            }
            System.out.println();
        }
    }
}

4.打印12345,每层递增

1
22
333
4444
55555
class forfor{
    public static void main(String[] args){
        for (int y=1; y<=5; y++) {
            for (int x=1; x<=y; x++) {
                System.out.print(y);
            }
            System.out.println();
        }

    }
}

5.九九乘法表

1×1=1   
1×2=2   2×2=4   
1×3=3   2×3=6   3×3=9   
1×4=4   2×4=8   3×4=12  4×4=16  
1×5=5   2×5=10  3×5=15  4×5=20  5×5=25  
1×6=6   2×6=12  3×6=18  4×6=24  5×6=30  6×6=36  
1×7=7   2×7=14  3×7=21  4×7=28  5×7=35  6×7=42  7×7=49  
1×8=8   2×8=16  3×8=24  4×8=32  5×8=40  6×8=48  7×8=56  8×8=64  
1×9=9   2×9=18  3×9=27  4×9=36  5×9=45  6×9=54  7×9=63  8×9=72  9×9=81
class forfor{
    public static void main(String[] args){
        for (int y=1; y<=9; y++) {
            for (int x=1; x<=y; x++) {
                System.out.print(x+"x"+y+"="+x*y+"\t");// \t:制表符
            }
            System.out.println();
        }

    }
}

6.打印倒三角形

      ******* 
       ***** 
        *** 
         * 
class forfor{
    public static void main(String[] args){
        for (int y=1; y<=5; y++) {
            for (int x=1; x<y; x++) {
                System.out.print(" ");
            }
            for (int z=y; z<=5; z++) {
                System.out.print("* ");
            }
            System.out.println();
        }

    }
}
  • 13
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以提供一个多层嵌套练习题,希望能够对您有所帮助。 题目描述:定义一个二维数组,其中存储了每个学生的姓名、性别、年龄、语文成绩和数学成绩。请编写程序,输出每个学生的平均成绩和总成绩,并按照总成绩从高到低排序输出。 要求: 1. 使用多层嵌套循环实现。 2. 使用冒泡排序或选择排序实现成绩排序。 示例代码如下: ```java public class Student { private String name; private String gender; private int age; private int chineseScore; private int mathScore; public Student(String name, String gender, int age, int chineseScore, int mathScore) { this.name = name; this.gender = gender; this.age = age; this.chineseScore = chineseScore; this.mathScore = mathScore; } public int getTotalScore() { return chineseScore + mathScore; } public double getAverageScore() { return (chineseScore + mathScore) / 2.0; } // getters and setters } public class Main { public static void main(String[] args) { Student[][] students = { {new Student("Tom", "Male", 18, 90, 80), new Student("Lucy", "Female", 17, 85, 90)}, {new Student("John", "Male", 19, 95, 92), new Student("Mary", "Female", 18, 87, 88)}, {new Student("David", "Male", 20, 88, 87), new Student("Lisa", "Female", 19, 91, 94)} }; // calculate total score and average score for each student for (int i = 0; i < students.length; i++) { for (int j = 0; j < students[i].length; j++) { Student student = students[i][j]; int totalScore = student.getTotalScore(); double averageScore = student.getAverageScore(); System.out.println(student.getName() + ": Total Score = " + totalScore + ", Average Score = " + averageScore); } } // sort students by total score in descending order using bubble sort for (int i = 0; i < students.length; i++) { for (int j = 0; j < students[i].length - 1; j++) { for (int k = 0; k < students[i].length - j - 1; k++) { if (students[i][k].getTotalScore() < students[i][k + 1].getTotalScore()) { Student temp = students[i][k]; students[i][k] = students[i][k + 1]; students[i][k + 1] = temp; } } } } // print sorted students System.out.println("Sorted Students:"); for (int i = 0; i < students.length; i++) { for (int j = 0; j < students[i].length; j++) { Student student = students[i][j]; System.out.println(student.getName() + ": Total Score = " + student.getTotalScore() + ", Average Score = " + student.getAverageScore()); } } } } ``` 输出结果如下: ``` Tom: Total Score = 170, Average Score = 85.0 Lucy: Total Score = 175, Average Score = 87.5 John: Total Score = 187, Average Score = 93.5 Mary: Total Score = 175, Average Score = 87.5 David: Total Score = 175, Average Score = 87.5 Lisa: Total Score = 185, Average Score = 92.5 Sorted Students: John: Total Score = 187, Average Score = 93.5 Lisa: Total Score = 185, Average Score = 92.5 Tom: Total Score = 170, Average Score = 85.0 Lucy: Total Score = 175, Average Score = 87.5 Mary: Total Score = 175, Average Score = 87.5 David: Total Score = 175, Average Score = 87.5 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值