12.2※、for循环练习

eg --> for练习:

先总体大思路 然后再用细节部分 逻辑要严谨【思路\步骤】 【规律】 【技术点\实现代码】

eg1: 输入三个整数,实现a

/**
  * @author Lantzrung
  * @date 2022年7月17日
  * @Description
  */

public class Demo{
    public static void main(String[] args){
        //1、创建Scanner扫描器
        Scanner sc = new Scanner(System.in);
        //2、获取3个整数
        System.out.println("请输入整数a:")
        int a = nextInt();
        System.out.println("请输入整数b:")
        int b = nextInt();
        System.out.println("请输入整数c:")
        
        int c = nextInt();
        //输入就当a是65 b是32 c是106
        
        //3.排序条件 使用三个if语句

        //--a>b交换    简称走位
        if{a>b}{//条件成立时  目的:就是将a和b互换; cause:a的值大于b 所以要互换
        int temp = a;//将a赋值给temp 故 现在temp和a等于65
        a = b;//将b赋值给a 故现在b和a是32
        b = temp;//将temp=65的值给b  
        //最终将b和a的数值互换了 b等于=65 而a=32
        }
        
        //--a>c交换
        if(a>c){
        int temp = a;
        a = c;
        c = temp;
        } 
       
        //--b>c交换
        if(b>c){
        int temp = b;
        b = c;
        c= temp; 
        }

        System.out,printf("a=%d,b=%d,c=%d"a,b,c);//a=a的值,b=b的值,c=c的值
        sc.close();//释放资源
        }
      }

eg2:练习:7行三角形输出

规律:

每一行的星号:2*n-1;

每一行的空格:总行数-当前行的序号

总行数为7 [7-i]

/**
  * @author Lantzrung
  * @date 2022年7月17日
  * @Description
  */

public class Demo01{
    public static void main(String[] args){
效果图: 
    //     一共7行数   【思路\步骤】 【规律】 【技术点\实现代码】
    //       空格数:              星号数:
    //        6         *         1  
    //	      5        ***        3
    //	      4       *****       5
    //	      3      *******      7
    //	      2     *********     9
    //	      1    ***********   11
    //	      0   *************  13

    // 1、最外层的循环为7行 现行数为i 最外层嵌套整个两个内循环
    for (int i = 0; i <= 7; i++) {

    // 2、空格 【7(总行数)-现行数(i)】 不换行  o的初始值要为1
        for (int o = 1; o <= (7 - i); o++) {
            System.out.print(" ");
        }

    // 3、星号 【2*现行数(i)-1】 不换行  o的初始值要为1
            for (int o = 1; o <= (2 * i - 1); o++) {
                System.out.print("*");
        }
    // 4、换行1  换行是使输出结果切换行数达到效果图
	            System.out.println();
        }
      }
    }

eg2:练习:任意行数三角形输出增强版

/**
  * @author Lantzrung
  * @date 2022年7月17日
  * @Description
  */

public calss Demo2{
    public static void main(String[] args){
        //就是将本来的7行 现增强版用一个n变量重新定义总行数 所以以下数据要作一部分修改
            int n = 13;

        // 1、最外层循环 里面的行数要修改 
        for (int i = 0; i <= n; i++) {

        // 2、空格行数也是要修改 【总行数-现行数(i)】 不换行
            for (int o = 1; o <= (n - i); o++) {
                System.out.print(" ");
            }

        // 3、星号行数不变用 【2*现行数(i)-1】 不换行
                for (int o = 1; o <= (2 * n - 1); o++) {
                System.out.print("*");
        }

        // 4、换行1  换行是使输出结果切换行数达到效果图
	            System.out.println();
        }
    }
}

eg3:练习 五十先令 男人3先令 女人2先令 小孩1先令 百鸡百钱:

有30人,可能包括男人、女人、小孩,他们在一饭店共消费50先令,其中每个男人花3先令,每个女人花2先令,每个小孩花1先令,求男人、女人、小孩各多少人?【30人50先令】【百鸡百钱】

/**
  * @author Lantzrung
  * @date 2022年7月17日
  * @Description
  */

public class Demo3{
    public static void main(String[] args){
        //先定义男人 man  max-->总共50先令 但每个男人花3先令 --> :50/3≈16
        for(int man = 0;man<=16;man++){

        //定义女人 woman   max-->50/2=25
            for(int woman = 0;woman<=25;woman++){

        //定义小孩   child  max-->50/1 = 50  child 
              for(int child = 0;child<=50;child++){
            //统计人数
           int number = man + woman + child;
           //统计金额
           int total = man*3+ woman*2 + child;
           //判断
           if(number==30&&total==50){
             System.out.printf("男人:%d,女人:%d,小孩:%d \n", man ,woman ,child); 
              }                           
           }       
        }
     }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lantzruk

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值