zoukankan      html  css  js  c++  java
  • Java之循环练习2

    吐槽O(∩_∩)O:由于前几天电脑坏了,除了在弄电脑的同时又在练习科目三了,又是晒了三天网鱼都没打了。计划还是赶不上变化,真的是让人乱了节拍啊。咔!吐槽完毕,让我们的循环练习继续。

    练习一:一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少鸡蛋。那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元,请你帮忙编程,计算最少应赔多少钱? 要求:用循环语句实现,直接打印出结果不给分。

    package com.cdp.project;
    
    public class task1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		// 使用穷举法去一一尝试,看能不能满足条件
    		  boolean flag = true; 
    		  // 初始化鸡蛋个数 
    		  int n = 1; 
    		  // 满足条件就借宿循环flag=false;
    		  while (flag){
    			if (n % 2 == 1 & n % 3 == 2 && n % 5 == 4) {
    				flag = false;
    			}
    			// 改变n的值 n++;
    			n++;
    		}
    		System.out.println("应赔" + (n - 1) + "块钱");
    	}
    
    	/**方法二:
    	 * int n = 1; 
    	 * while (true) {
    	 * 	 if (n % 2 == 1 & n % 3 == 2 && n % 5 == 4) {
    	 * 	break; 
    	 * }
    	 *  n++; 
    	 *  } System.out.println("应赔" + n + "块钱");
    	 */
    }

    run:

    应赔29块钱

     练习二:

    从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能被7整除的数的和。

    屏幕提示样例: 请输入一个整数:20

     1~20之间能被7整除的数的个数:2

    1~20之间能被7整除的所有数之和:21

    要求:整数N由键盘输入,且2 ≤ N ≤1000。

    package com.cdp.project;
    
    import java.util.Scanner;
    
    public class task3 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner s = new Scanner(System.in);
    		System.out.println("请输入一个正整数:");
    		int n = s.nextInt();
    		// 计算个数
    		int count = 0;
    		// 求和
    		int sum = 0;
    		for (int i = 0; i <= n; i++) {
    			if (i % 7 == 0) {
    				count++;
    				sum = sum + i;
    			}
    		}
    		System.out.println("1~20之间能被7整除的数的个数:" + count);
    		System.out.println("1~20之间能被7整除的所有数之和:" + sum);
    	}
    
    }
    

    例如,我们就输入18运行所得结果为:

    请输入一个正整数:
    18
    1~20之间能被7整除的数的个数:3
    1~20之间能被7整除的所有数之和:21

    练习3:打印菱形,这个我们都不陌生。

    下面,我们从键盘输入一个整数N,打印出有N*2-1行的菱形。

    package com.cdp.project;
    
    import java.util.Scanner;
    
    public class task4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner s = new Scanner(System.in);
    		System.out.println("请输入一个正整数N来打印菱形:");
    		int N = s.nextInt();
    		for (int i = 1; i <= N; i++) {
    			// 第一行
    			// 输出空格
    			for (int j = 1; j <= N - i; j++) {
    				System.out.print(" ");
    			}
    			// 输出星号
    			for (int j = 1; j <= 2 * i - 1; j++) {
    				System.out.print("*");
    			}
    			// 换行
    			System.out.println();
    		}
    		// 打印倒行
    		// 倒三角形开始时为最大值N-i
    
    		for (int i = N - 1; i >= 1; i--) {
    			// 输出空格
    			for (int j = 1; j <= N - i; j++) {
    				System.out.print(" ");
    			}
    			// 输出星号
    			for (int j = 1; j <= 2 * i - 1; j++) {
    				System.out.print("*");
    			}
    			// 换行
    			System.out.println();
    		}
    
    	}
    
    }
    

    eg:我们就输入个20来看看效果:

    请输入一个正整数N来打印菱形:
    20
                       *
                      ***
                     *****
                    *******
                   *********
                  ***********
                 *************
                ***************
               *****************
              *******************
             *********************
            ***********************
           *************************
          ***************************
         *****************************
        *******************************
       *********************************
      ***********************************
     *************************************
    ***************************************
     *************************************
      ***********************************
       *********************************
        *******************************
         *****************************
          ***************************
           *************************
            ***********************
             *********************
              *******************
               *****************
                ***************
                 *************
                  ***********
                   *********
                    *******
                     *****
                      ***
                       *
    

      

      

    不努力,还要青春干什么?
  • 相关阅读:
    HRBUST 1377 金明的预算方案
    51Nod 2649 完全背包
    计蒜客 T2129 采药
    计蒜客 T1408 矩形嵌套
    OpenJudge 2711 合唱队形
    51Nod 2080 最长上升子序列
    2021NUAA暑假集训 Day5 部分题解
    2021NUAA暑假集训 Day4 部分题解
    C++ 11 move constructor 何时调用?
    老外这样说英文
  • 原文地址:https://www.cnblogs.com/caidupingblogs/p/5880346.html
Copyright © 2011-2022 走看看