JAVA学习——练习题Day03

作业题目(接Day02):

JAVA学习——练习题Day02
3、声明int型变量age存储你的年龄,声明double型变量price存储你今日早餐的消费金额,声明char型变量gender存储你的性别,声明boolean型变量isMerried存储你婚否的状态,输出以上变量
4、从键盘输入任意一个四位数,计算出四个数相加的和,在控制台打印出来(列如:输入1234,结果为10)
6、在控制台依次输入三个整形数字,用三元运算符找出它们中最大的数字并输出。
5、阅读下面代码,得出运算结果:
在这里插入图片描述
7、一张桌子5岁的男孩能推动,7岁以上的女孩能推动,写出逻辑表达式,根据输入的性别和年龄输出结果。
8、写出可以判断某一年是否是闰年的逻辑表达式(注:能被400整除或者能被4整除但不能被100整除的年份是闰年)。
9、输入一个会员号。首先判断会员号时候合法。合法的标准是:是四位正整数,如果不合法直接退出程序。其次判断输入会员号的百位数时候为4,是4的就是幸运会员,否则不是幸运会员。
10、2016年,你的工资是3000元每月,每年递增25%,问哪一年的你的工资达到每月10万元。
11、综合运用if选择结构,嵌套if选择结构、switch选择结构实现商品换购功能,效果图如下所示。
在这里插入图片描述

12、模拟一个QQ登陆程序,输入账号和密码进行验证(验证成功输出“登陆成功”,验证失败重新输入 (账号和密码都用数字))。
13、在控制台输出九九乘法表。
14、小明的爸爸每天给他2.5元钱,他都会存起来,从存钱开始,每过五天他就会花去6元钱,请问要到第几天小明才可以存满100元钱。


第三题:

声明int型变量age存储你的年龄,声明double型变量price存储你今日早餐的消费金额,声明char型变量gender存储你的性别,声明boolean型变量isMerried存储你婚否的状态,输出以上变量。

 public static int age(int a){
 //年龄方法
      return a;
   }
    public static double price(double a){
//消费额方法
       return a;
  }
    public static char gender(char a){
//性别方法
        return a;
    }
   public static boolean marry(boolean a){
//婚否方法
        return a;
    }
    public static void main(String[] args) {
    System.out.println("年龄:"+age(5)+"\n"+"性别:"+gender('女')+"\n"+ "消费额:"+price(399.6)+"\n"+"婚否:"+marry(false));
输出结果:
年龄:5
性别:女
消费额:399.6
婚否:false

这道题比较简单,适合练手,不做过多说明。


第四题:

从键盘输入任意一个四位数,计算出四个数相加的和,在控制台打印出来(列如:输入1234,结果为10)

在main函数下:
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个数字:"+"\t");
        int input=scanner.nextInt();
        //千
        int a=input/1000;
        //百
        int b=input/100%10;
        //十
        int c=input/10%10;
        //个
        int d=input%100%10;
//a前面的""是指连接符的意思,分别输出abcd代表的数字,如果不加""会变成第二个sout输出的abcd的相加和。
        System.out.println(""+a+"\t"+b+"\t"+c+"\t"+d);
        System.out.println("结果:"+a+b+c+d);
        
输出结果:
请输入一个数字:	
1234
1	2	3	4
结果:1234

第五题:

在控制台依次输入三个整形数字,用三元运算符找出它们中最大的数字并输出。

        int a = 4;int b = 6;a+=5;
        b-=2;
        System.out.println("a+=后的值:"+a);
        System.out. println( "b+=后的值:"+b);
        int c = --a;
        int d = b++;
        System.out.println("c的值:"+c);
        System.out.println( "d的值:"+d);
输出结果:9 4 8 4

第六题:

在控制台依次输入三个整形数字,用三元运算符找出它们中最大的数字并输出。

        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个数字:"+"\t");
        int a1=scanner.nextInt();
        System.out.println("请输入下一个数字:"+"\t");
        int a2=scanner.nextInt();
        System.out.println("请输入下一个数字:"+"\t");
        int a3=scanner.nextInt();
//三元表达式,在a1,a2中先选出比较大的一个,再与a3比较,取出三者最大的一个。
        int max=(a1>a2?a1:a2)>a3?(a1>a2?a1:a2):a3;
        System.out.println("最大值为:"+max);
        
输出结果:
请输入一个数字:	
2
请输入下一个数字:	
4
请输入下一个数字:	
1
最大值为:4

第七题:

一张桌子5岁的男孩能推动,7岁以上的女孩能推动,写出逻辑表达式,根据输入的性别和年龄输出结果。

    public static void can(String sex,int age){
    //if语句判断性别和年龄
        if ((sex=="男"&&age>=5)||(sex=="女"&&age>=7)){
            System.out.println("可以推动桌子");
        }else {
            System.out.println("不可以推动桌子");
        }
    }
public static void main(Srting[] args){
        Day03_homework z=new Day03_homework();
        z.can("男",4);
        }
        
输出结果:
不可以推动桌子

第八题:

写出可以判断某一年是否是闰年的逻辑表达式(注:能被400整除或者能被4整除但不能被100整除的年份是闰年)
在Day02中判断日期相距多少天时已经写过。下面是链接:

JAVA学习——练习题Day02


第九题:

输入一个会员号。首先判断会员号时候合法。合法的标准是:是四位正整数,如果不合法直接退出程序。其次判断输入会员号的百位数时候为4,是4的就是幸运会员,否则不是幸运会员。

        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入会员号:");
        int number=scanner.nextInt();
        if (number>=1000&&number<10000){
        //判断会员号是否为4位正整数
            System.out.println("您的会员号为:"+number);
            if (number/100%10==4){
            //判断百位数是否为4
                System.out.println("恭喜您为幸运会员");
            }
        }else {
            System.out.println("请输入四位正整数");
        }
        
输出结果:
请输入会员号:
1444
您的会员号为:1444
恭喜您为幸运会员

第十题:

2016年,你的工资是3000元每月,每年递增25%,问哪一年的你的工资达到每月10万元

        double z=3000;
        int y=2016;
        //先赋给while一个true值,进入循环
        boolean g=true;
        while (g){
        if (z>=100000){//满足条件后输出年份。
            System.out.println(y+"年");
            //满足条件后给一个false值退出循环
            g=false;
        }
        z=z*1.25;//当if条件不满足继续循环递增25%
        y++;
        }
输出结果:
2032

第十一题:

综合运用if选择结构,嵌套if选择结构、switch选择结构实现商品换购功能

Scanner scanner=new Scanner(System.in);
        System.out.print("请输入消费金额:");
        double price=scanner.nextDouble();
        //我只写了两种,后面的和方式1、2相似,复制粘贴即可
        System.out.println("请选择方式:"+"\n"+"1.满50元加两元换购一瓶可乐"
                + "\n"+"2.满100元加三元换购一瓶500ml可乐"
                + "\n"+"请选择:");
        int number=scanner.nextInt();
        //获取number数(选择方式)
            switch (number){
            //当用户选择1时,判断他的消费金额是否满足条件,满足就在原有价格上加2,并输出换购项目
                case 1:if (price>=50){
                    price=price+2;
                    System.out.println("你的消费金额:"+price+"\n"+"1.满50元加两元换购一瓶可乐");
                    break;
                }else {
                    System.out.println("换购失败");
                    break;
                }
                case 2:if (price>=100){
                //当用户选择2时,判断他的消费金额是否满足条件,满足就在原有价格上加3,并输出换购项目
                    price=price+3;
                    System.out.println("你的消费金额:"+price+"\n"+"2.满100元加三元换购一瓶500ml可乐");
                    break;
                }else {
                    System.out.println("换购失败");
                    break;
                }
            }

第十二题:

模拟一个QQ登陆程序,输入账号和密码进行验证(验证成功输出“登陆成功”,验证失败重新输入 (账号和密码都用数字))

        boolean t=true;//给一个true进入循环
        int user=11111;//先定义一个账户和密码,模仿数据库中已存在的数据,因为现在还未学习数据库,先简单模拟一个登陆程序,也可以写两遍Scanner
        int pwd=666;
        Scanner scanner=new Scanner(System.in);
        while (t){
            System.out.println("请输入账户:");
            int user1=scanner.nextInt();
            System.out.println("请输入密码:");
            int pwd1=scanner.nextInt();
            if (user==user1&&pwd==pwd1){
                t=false;
                System.out.println("登陆成功");
            }else {
                System.out.println("账户和密码错误,请重新输入");
            }
            //当账号密码错误时候,重新进入循环输入账号密码
        }
输出结果:
请输入账户:
111
请输入密码:
666
账户和密码错误,请重新输入
请输入账户:
11111
请输入密码:
666
登陆成功

第十三题:

九九乘法表

算法思想:运用两个for循环分别代表行和列,相乘出结果就可以了。
i为行,j为列。先进行的循环,再进行列的循环,当列大于行时候停止,进行下一行的输出

                for(int i = 1; i <= 9; i++) {
                    for(int j = 1; j <= 9; j++){
                        if(j > i){
                            break;
                        }
                        System.out.print(j+"*"+i+"="+(i*j)+"\t");
                    }
                    System.out.println();
                }

第十四题:

小明的爸爸每天给他2.5元钱,他都会存起来,从存钱开始,每过五天他就会花去6元钱,请问要到第几天小明才可以存满100元钱。

        int j=0;
        double i=0;
        boolean m=true;
        while (m){
            i=i+2.5;
            j+=1;
            if (j%5==0){
                i=i-6;
                if (i>=100){
                    System.out.println("小明存满100元的时间:"+j);
                    System.out.println("小明存储的金额:"+i);
                    m=false;
                }
            } else if (i >= 100) {
                System.out.println("小明存满100元的时间:"+j);
                System.out.println("小明存储的金额:"+i);
                m=false;
            }
        }
输出结果:
小明存满100元的时间:74
小明存储的金额:101.0

附加题:

编写一个猜拳游戏,人机和玩家相互猜拳。游戏规则:三局两胜

public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("欢迎来到猜拳游戏"+"\n"+"游戏规则:三局两胜");
        boolean b=true;
        boolean b1=true;
//        用户赢的次数
        int user_win=0;
//        电脑赢的次数
        int computer_win=0;
        while (b){//大的循环,从选择游戏开始进行循环
            System.out.println("请选择"+"\n"+"1.开始游戏"+"2.退出");
            System.out.print("");//print不换行 println换行
            int choose1=scanner.nextInt();
            if (choose1==1){
                while (b1) {//小环节的循环,从选择出拳开始进行循环
                    int res=startgame(scanner);//获得结果
                    if (res==1){//定义res为1时候是为用户获胜,具体查看res方法
                        user_win+=1;
                        if (user_win==2){
                            System.out.println("*************"+"用户获得最终胜利!!!"+"*************");
                            user_win=0;
                            b1=false;
                            b=false;
                        }
                    }else if (res==2){//res为2时候是小场次电脑获胜
                        computer_win+=1;
                        if (computer_win==2){
                            System.out.println("****************"+"\n"+"电脑获得最终胜利!!!"+"\n"+"****************");
                            computer_win=0;
                            b1=false;
                            b=false;
                        }
                    } else if (res== 3) {//继续开始游戏
                        startgame(scanner);
                    }
                }
            }else if(choose1==2)
            {
                exitGame();//大循环的选择,如果选择退出游戏,那么执行exitGame方法
            }else {
                System.out.println("请重新选择");
        }
        }
        }
//    开始游戏
        public static int startgame(Scanner scanner){
            System.out.println("请玩家出拳:"+"\n"+"1.石头 2.剪刀 3.布");
            System.out.println("电脑随机出拳");
            int userChoose=uesrChoose(scanner);
            int computerChoose=computerChoose();
//            单次猜拳结果(0为平局,1为用户赢,2为电脑赢,3为输入错误)
            int res=getResult(userChoose,computerChoose);
            return res;
        }

        public static void exitGame(){
        //b=false;
        /*
        *如果想按2退出大循环,那么需要将boolean b=ture;放在main函数外并加上static
        *在exitGame中写上b=false就会退出游戏循环
        *因为想一直循环游戏,故在退出游戏方法中为空。
        */
        }
//        用户出拳
        public static int uesrChoose(Scanner scanner){
        int uesrChoose1=scanner.nextInt();
        return uesrChoose1;
        }
//        电脑出拳
        public static int computerChoose(){
        int computerChoose1=(int)(Math.random()*3)+1; //random取0~1取不到1
        return computerChoose1;
        }
//判断用户胜利还是电脑胜利
        public static int getResult(int userChoose,int computerChoose){
        switch (userChoose){
            case 1:
                if (computerChoose==1){
                    System.out.println("用户石头"+"\n"+"电脑出的石头"+"\n"+"结果:平局");
                    return 0;
                }else if (computerChoose==2) {
                    System.out.println("用户石头" + "\n" + "电脑出的剪刀" + "\n" + "结果:用户赢");
                    return 1;
                }else{
                        System.out.println("用户石头"+"\n"+"电脑出的布"+"\n"+"结果:电脑赢");
                        return 2;
                }
                    case 2:
                        if (computerChoose==1){
                            System.out.println("用户剪刀"+"\n"+"电脑出的石头"+"\n"+"结果:电脑赢");
                            return 2;
                        }else if (computerChoose==2) {
                            System.out.println("用户剪刀" + "\n" + "电脑出的剪刀" + "\n" + "结果:平局");
                            return 0;
                        }else{
                            System.out.println("用户剪刀"+"\n"+"电脑出的布"+"\n"+"结果:用户赢");
                            return 1;
                    }
            case 3:
                if (computerChoose==1){
                    System.out.println("用户布"+"\n"+"电脑出的石头"+"\n"+"结果:用户赢");
                    return 1;
                }else if (computerChoose==2) {
                    System.out.println("用户布" + "\n" + "电脑出的剪刀" + "\n" + "结果:电脑赢");
                    return 2;
                }else{
                    System.out.println("用户布"+"\n"+"电脑出的布"+"\n"+"结果:平局");
                    return 0;
                }
            default:
                return 3;
                }
输出结果:
欢迎来到猜拳游戏
游戏规则:三局两胜
请选择
1.开始游戏2.退出
1
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的剪刀
结果:用户赢
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的布
结果:电脑赢
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的石头
结果:平局
请玩家出拳:
1.石头 2.剪刀 3.布
电脑随机出拳
1
用户石头
电脑出的剪刀
结果:用户赢
*************用户获得最终胜利!!!*************

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值