• 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 [选做题]

  • 相关阅读:
    墙奸有感
    关于ubuntu里的fcitx
    Ubuntu 9.10 ati HD 3470 显卡驱动 搞定
    XP与Ubuntu双系统的问题
    invalid conversion from ‘__pthread_t*’ to ‘pid_t’
    Julian Day
    m的n次幂的求法
    Sublime Text 2
    在虚拟机Virtualbox安装Win8消费者版
    记一个循环的错误
  • 原文地址:https://www.cnblogs.com/liuyanhuiyanhui/p/12398850.html
Copyright © 2020-2023  润新知