zoukankan      html  css  js  c++  java
  • Java3流程控制语句

    课堂练习:

    1√奇偶数值

         编写java程序,完成以下功能:

          假设有整型变量x,判断x是否为偶数,若为偶数,则在控制台上打印“输入的数值是偶数”。

          无论x是否为偶数,最后都要在控制台上输出x的值

         package com.three;

          

         import java.util.Scanner;

          

         public class three {

         public static void main(String[] args) {

        

                 // scanner是一个随机数,random也可以,但写法不一样

                 System.out.println("请输入一个数字:");

                 Scanner x=new Scanner(System.in);

                 int x1=x.nextInt();

                 if (x1%2==0) {

                    System.out.println("输入的数字:"+x1+"是偶数");

                 }else {

                    System.out.println("输入的数字:"+x1+"是奇数");

                

             }

         }

         }

    2√整除

         有一个数字为45327,判断该数字是否能被13整除,是否能被17整除。

         package com.three;

         public class K2 {

             public static void main(String[] args) {

                int x=45327;

                if (x%13==0 && x%17==0) {

                    System.out.println("45327是13和17倍数");

                }else {

                    System.out.println("45327不是13和17倍数");

                }

             }

         }

          

        

    3√最大值

         有两个整型变量x,y,请编写代码在控制台上输出x与y中值较大的那个数。

         package com.three;

         public class K3panduan {

         public static void main(String[] args) {

           int x=3;

           int y=5;

           if (x>y) {

         //       判断如果x>y输出x,反之输出y

              System.out.println("x="+x);

           }else {

              System.out.println("y="+y);

           }

         }

         }

    4√闰年

         判断2064年是不是闰年。

          闰年判断规则:

         能被400整除的是闰年

         能被100整除,不能被400整除的不是闰年

         能被4整除,不能被100整除的是闰年

         其他的不是闰年

         package com.three;

          

         public class K4panduanrunnian {

         public static void main(String[] args) {

         int x=2064;

         if (x%400==0 ) {

             System.out.println(x+"是闰年");

         }else if (x%4==0) {

             System.out.println(x+"是闰年");

         }

         else {

             System.out.println(x+"不是闰年");

         }

         }

         }

    5√月份

         如果月份month为1—12的一个月份,输出该月份的天数;如果数字不符合,输出“错误的月份”。

          1、3、5、7、8、10、12月天数为31

          2月天数为28

          4、6、9、11月天数为30

          使用switch语句完成需求

    package com.three;

    import java.util.Random;

    import java.util.Scanner;

     

    public class K5suijiyuefentianshu {

    public static void main(String[] args) {

        System.out.println("请随机输入一个月份:");

        Scanner x=new Scanner(System.in);

        int x1=x.nextInt(); 

        switch (x1) {

        case 1:

           System.out.println(x1+"月为31天");

           break;

        case 2:

           System.out.println(x1+"月为28天");

           break;

        case 3:

           System.out.println(x1+"月为31天");

           break;

        case 4:

           System.out.println(x1+"月为30天");

           break;

        case 5:

           System.out.println(x1+"月为31天");

           break;

        case 6:

           System.out.println(x1+"月为30天");

           break;

        case 7:

           System.out.println(x1+"月为31天");

           break;

        case 8:

           System.out.println(x1+"月为31天");

           break;

        case 9:

           System.out.println(x1+"月为30天");

           break;

        case 10:

           System.out.println(x1+"月为31天");

           break;

        case 11:

           System.out.println(x1+"月为30天");

           break;

        case 12:

           System.out.println(x1+"月为31天");

           break;

       

        default:

           System.out.println("输入错误信息");

           break;

        }

    }

    }

         1、编写程序实现:用户输入商品名称,显示该商品的价格。

    6√随机月份天数

         产生一个12以内的随机数作为月份,输出该月份的天数。

          1、3、5、7、8、10、12月天数为31

          2月天数为28

          4、6、9、11月天数为30

           

           

           

    ***66、随机天数

          产生一个12以内的随机月份,和一个30以内的随机天数,输出该日是本年的第多少天(不考虑闰年)?【选做题】

    package com.three;

    public class K66suijitianhsu {

    public static void main(String[] args) {

        //每月的天数

           //0只是占位

           int[] mons = { 0, 31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30 };   

           //随机月份    -取模%12 值为0~11,所以要+1

           //Math.random()函数返回一个浮点,为随机数在范围[0,1)

           int rmon = (int) (Math.random() * 100 % 12 + 1);

           //随机天数

           int rday = (int) (Math.random() * 100 % 30 + 1);

           //打印随机几月和几号

           System.out.println(rmon + ":" + rday);

           int day = 0;

           //如果为一月就直                                                                                                                                                                                                                                                                                                                                             接输出天数

           if (rmon == 1) {

               System.out.println(rday);

           } else {

               //循环加前n-1月的天数

               for (int i = rmon; i > 1; i--) {

                  day = day + mons[i - 1];

                  }

                  //最后加上本月的天数

                  day += rday;

                  System.out.println(day);

               }

    }

    }

    7√循环1到100的和

         计算1+2+3+…+100的和(提示利用while语句)

         package com.three;

         public class K7xunhuanhe {

         public static void main(String[] args) {

         //  求1到100的和

         //  1定义变量x

         //  2定义求和变量sum

         int x=1;

         int sum=0;

         while (x<=100) {

         //  当x<=100时循环

         //      将x的值赋值给sum之后x进行自增

             sum=sum+x;

             x++;

         }

         System.out.println(sum);

         }

         }

          

    8√1到100所有奇数和

         计算从1到100的所有奇数相加(提示利用while语句)

         package com.three;

         public class K8jishuhe {

         public static void main(String[] args) {

         //  定义两个变量x代表1到100之间的奇数 sum代表搜有技术相加的和

         int x=1;

         int sum = 0;

         //  当x<=100时且x为奇数时,将x值赋值给sum,x进行自增

         while (x<=100) {

             if (x%2!=0) {

                 sum=sum+x;

                

             }

             x++;

         }

         System.out.println(sum);

         }

         }

    9√do while

         计算1+2+3+…+100的和(用do while 循环完成)

         package com.three;

         public class K8jishuhe {

         public static void main(String[] args) {

         //  定义两个变量x代表1到100之间的奇数 sum代表搜有技术相加的和

         int x=1;

         int sum = 0;

         //  当x<=100时且x为奇数时,将x值赋值给sum,x进行自增

         while (x<=100) {

             if (x%2!=0) {

                 sum=sum+x;

             }

             x++;

         }

         System.out.println(sum);

         }

         }

    10√for

         用for循环改写从1到100的所有奇数相加的和

         package com.three;

         public class K10for {

         public static void main(String[] args) {

         int sum=0;

         int x=1;

         for(int i=1;i<=100;i++) {

             if (x%2!=0) {

                 sum=sum+i;

             }

             i++;

         }

         System.out.println("100以内所有奇数和为:"+sum);

         }

         }

    11√循环

         循环得到用户从控制台输入的5个整数,该整数为用户购买商品的价格,计算用户一共需要花费的总金额。

         package com.three;

         import java.util.Scanner;

         public class K11circulation {

         public static void main(String[] args) {

         //  定义一个sum用来累加

         //  定义一个sc代表输入的数字

         //  定义一个自增的变量j记录输入数字个数,从1开始

         int sc=0;

         int sum=0;

         for(int j=1;j<=5;j++) {

             System.out.println("第"+j+"个数字为:");

             sc=new Scanner(System.in).nextInt();

             sum=sum+sc;

         }

         //  答应sum

         System.out.println("总金额为:"+sum);

         }   }

    12√循环

         3、随机产生一个10以内的正整数,用户循环输入三个整数,如果用户输入的整数包含随机数,输出“猜对了”;反之,输出“没猜到”。

          例如:

         随机数为4,用户输入数为:2,3,4。输出:猜对了

         随机数为4,用户输入数为:1,2,3。输出:没猜到

    int a = new Random().nextInt(10);

            if(a==4||a==5||a==6) {

                System.out.println("恭喜你,猜对了");

            }else {

               System.out.println("抱歉,错了,再来一次吗?");

           }

    13√循环

         用户输入数字,如果是0,退出程序,界面如下:

         public static void main(String[] args) {

         System.out.println("**********跨境电商交易平台**********");

         System.out.println("*                              *");

         System.out.println("*   1、制造商业资料                                         *");

         System.out.println("*   2、销售商品资料                                         *");

         System.out.println("*   3、商品类别管理                                         *");

         System.out.println("*   4、商品详细信息                                        *");

         System.out.println("*   0、退出程序                                         *");

         System.out.println("*                              *");

         System.out.println("**********跨境电商交易平台**********");

             

         //   方法一:Random()

         //   int a=new Random().nextInt(6);

         //   System.out.println("请输入一个数字:"+a);

        

         //   方法二:Scanner

         System.out.println("请输入一个数字:");

         Scanner a1=new Scanner(System.in);

         int a=a1.nextInt();

        

        

         if (a==0) {

              System.out.println("欢迎使用本软件,再见!");

         }else if (a==1) {

              System.out.println("制造商业资料");

         }else if (a==2) {

              System.out.println("销售商品资料");

         }else if (a==3) {

              System.out.println("商品类别管理 ");

         }else if (a==4) {

              System.out.println("商品详细信息 ");

         }else {

              System.out.println("对不起,输入错误! ");

         }

        

         }

    附加题****

         得到用户从控制台输入的五个正整数,该整数为用户购买商品的价格,如果用户输入整数为0或负数,不计入统计,结束输入后计算用户一共需要花费的总金额。

    课后作业

    1√利润提成

         企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于或等于20万元时,高于10万元的部分,可提成7.5%;高于20万,低于或等于40万时,高于20万元的部分,可提成5%;高于40万,低于或等于60万时,高于40万元的部分,可提成3%;高于60万,低于或等于100万时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,输入一个整数变量为当月利润,求应发放奖金总数?(知识点:条件语句) [必做题]

         int x=new Random().nextInt(2000000);

               int y=new Random().nextInt(); 

               if (x>100000) {

                   y=(int) (x*0.1);

               }

               if (x>200000)

               {y=(int) (x*0.1)+(int) ((x-200000)*0.075);

               }

               if (x>200000)

               {y=(int) (x*0.1)+(int) (x*0.075);

               }

               System.out.println(y);

            }

    2√成绩等级

         输入一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59(知识点:条件语句switch)[必做题]

    System.out.println("请输入成绩:");

           Scanner a1 = new Scanner(System.in);

           int a= a1.nextInt();

     

        switch (a/10) {

        case 10:

        case 9:

           System.out.println("A");

           break;

        case 8:

           System.out.println("B");

           break;

        case 7:

           System.out.println("C");

           break;

        case 6:

           System.out.println("D");

           break;

        default:

           System.out.println("E");

           break;

        }

        a1.close();

    3√奇偶数值

         输入一个数字,判断是一个奇数还是偶数(知识点:条件语句) [必做题]

         int a=0;

         System.out.println("请输入一个数:");

         Scanner a1=new Scanner(System.in);

         a=a1.nextInt();

        

         if (a%2!=0) {

              System.out.println("奇数");

         }else {

              System.out.println("偶数");

         }

    4√随机变量x

         编写程序, 判断一个随机变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出x=10,除了以上几个值,都输出x=none。(知识点:条件语句) [必做题]

    System.out.println("请输入一个数:");

        Scanner x1=new Scanner(System.in);

        int x=x1.nextInt();

       

        if (x==1 ) {

           System.out.println("x="+x);

        }else if (x==5) {

           System.out.println("x="+x);

        }else if (x==10) {

           System.out.println("x="+x);

        }

       

        else {

           System.out.println("x=none");

        }

       

       

    5√随机整除

         判断一个随机整数是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)(知识点:条件语句) [必做题]

    System.out.println("请输入一个数:");

        Scanner x1=new Scanner(System.in);

        int x=x1.nextInt();

        if (x%5==0 &&x%6==0) {

           System.out.println("能被5和6整除");

        }else if (x%5!=0 && x%6!=0) {

           System.out.println("不能被5和6整除");

        }else if (x%5==0) {

           System.out.println("能被5整除");

        }else if (x%6==0) {

           System.out.println("能被6整除");

        }

    6√闰年

         输入一个年份,判断这个年份是否是闰年(知识点:条件、循环语句) [必做题]

         System.out.println("请输入一个数:");

              Scanner x1 = new Scanner(System.in);

              int x = x1.nextInt();

             

              if (x%400==0) {

                 System.out.println("闰年");

              }else if (x%4==0) {

                 System.out.println("闰年");

              }

             else {

                 System.out.println("平年");

              }

    7√成绩等级

         输入一个0~100的分数,如果不是0~100之间,打印分数无效,根据分数等级打印A,B,C,D,E(知识点:条件语句if elseif) [必做题]

         System.out.println("请输入成绩");

         Scanner a1=new Scanner(System.in);

         int a=a1.nextInt();

        

         switch (a/10) {

         case 10:

         case 9:  

             System.out.println("A");

             break;

         case 8:  

             System.out.println("B");

             break;

         case 7:  

             System.out.println("C");

             break;

         case 6:  

             System.out.println("D");

             break;

        

         default:

             System.out.println("E");

             break;

         }

         a1.close();

    8√xyz大到小

         输入三个整数x,y,z,请把这三个数由小到大输出(知识点:条件语句) [必做题]

    int a = 11;

           int b = 67;

           int c = 9;

           if (a > b) {

               if (c > a) {

                  System.out.println(b + "," + a + "," + c);

               } else if (c < b) {

                  System.out.println(c + "," + b + "," + a);

               } else {

                  System.out.println(b + "," + c + "," + a);

               }

     

               // a<<b时

           } else {

               if (c < a) {

                  System.out.println(c + "," + a + "," + b);

               } else if (c > b) {

                  System.out.println(a + "," + b + "," + c);

               } else {

                  System.out.println(a + "," + c + "," + b);

               }

           }

    9√12345几位数

         有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。(知识点:条件语句) [必做题]

    public static void main(String[] args) {

           // 有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。(知识点:条件语句)

     

           System.out.println("请输入一个数:");

     

           Scanner x1 = new Scanner(System.in);

           String x = x1.next();

     

           System.out.println("你输入的数字为为:" + x.length() + "位");

           for (int i = x.length() - 1; i >= 0; i--) {

               System.out.print(x.charAt(i) + " ");

           }

        }

    }

    课后作业:[选做题]

    1、10年年薪

         假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句for)[选做题]

    2、猴子吃桃

         猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。(知识点:循环语句 while)[选做题]

    3、汇款

         编写一个程序,计算邮局汇款的汇费。如果汇款金额小于100元,汇费为一元,如果金额在100元与5000元之间,按1%收取汇费,如果金额大于5000元,汇费为50元。汇款金额由命令行输入。(知识点:条件语句) [选做题]

    4、1到100

         分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) [选做题]

    For:

    public static void main(String[] args) {

         int sum = 0;

        

         for (int i=0;i < 101; i++) {

            if (i % 3 == 0) {

               sum = sum + i;

            } else {

            }

         }

         System.out.println(sum);

     

       }

    }

    While:

    int x = 0;

         while (x < 100) {

            if (x % 3 == 0) {

               sum = sum + x;

               x++;

            } else {

               x++;

            }

     

         }

         System.out.println(sum);

       }

    }

    5、输出0-9之间的数

         输出0-9之间的数,但是不包括5。 [选做题]

           for(int i=1;i<10;i++){

                  if(i!=5){

                     System.out.println(i);

                  }

                  else{

                    

                  }

                 }

    6、整数n的阶乘

         编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5 [选做题]

        // 求整数n的阶乘

           //1: for循环

         

           // int x;

           // int sum=1;

           // System.out.println("请输入数字n:");

           // Scanner in=new Scanner(System.in);

           // int i=in.nextInt();

           // String s= "阶乘=";

           // for(x=1;x<=i;x++){

           // sum=sum*x;

           // if (x<i){

           // s = s + x+ '*' ;

           // }

           // else{

           // s = s + x + "=" + sum;

           // }

           // }

           // System.out.println(i+s);

         

           // 2递归方法:

           System.out.println("请输入一个数:");

           Scanner input = new Scanner(System.in); //构建一个输入实例

                int n = input.nextInt();                //输入n的值

        //    n的阶乘的值为:f(n);                //用递归函数求解n的阶乘

                System.out.println(n+"!=" + f(n));

            }

         

            public static int f(int n){         //阶乘求解函数

                if(n == 0){                             //判断传进来的n是否为0,若为零返回阶乘为1

                    return 1;

                }

                return n*f(n-1);             //重新调用函数,继续判断n-1是否为零,

            }                                          //若不为0则return值为n*(n-1)*factorial(n-1-1),直到n=0,跳出函数

         }

    7、大于200的最小的质数

         编写一个程序,找出大于200的最小的质数[选做题]

    8、反转

         由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321 [选做题]

  • 相关阅读:
    状态压缩 + 暴力 HDOJ 4770 Lights Against Dudely
    简单几何(推公式) UVA 11646 Athletics Track
    简单几何(四边形形状) UVA 11800 Determine the Shape
    简单几何(求交点) UVA 11437 Triangle Fun
    计算几何模板
    简单几何(相对运动距离最值) UVA 11796 Dog Distance
    简单几何(求划分区域) LA 3263 That Nice Euler Circuit
    覆盖的面积 HDU
    Desert King 最小比率生成树 (好题)
    约会安排 (区间合并)毒瘤题
  • 原文地址:https://www.cnblogs.com/liuyanhuiyanhui/p/12398850.html
Copyright © 2011-2022 走看看