Java基础练习题1--(青蛙爬井问题||猴子吃桃问题||简单的银行存款取款业务问题,输出1000以内被5整除的数字,for循环打印不同的三角形)


1.青蛙爬井问题


一只青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出.
public class D2TestD2 {
    //一只青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出.
    public static void main(String[] args) {
        int up=0;//定义青蛙向上爬的路程
        int day=1;//定义时间
        while(true){
            //青蛙白天爬3米
            up+=3;
            //如果达到或超过11米,那么青蛙就可以出去了
            if(up>=11){
              //终止循环
                break;
            }
            //青蛙晚上下滑两米
            up-=2;
            //需要的天数循环自增
            day++;
        }
        System.out.println("青蛙出来需要的天数为:"+day+"天");
    }
}

输出:
青蛙出来需要的天数为:9

2.猴子吃桃问题


猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都 前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共 摘下来多少个桃子?
public class D2Test5 {
    public static void main(String[] args) {
        //定义桃子数量
        int peach=1;
        //从第10天到第一天倒推,循环了9次
        for (int day = 9; day >0 ; day--) {
            //猴子前一天的桃子数
            peach=(peach+1)*2;
        }
        //输出桃子数量
        System.out.println("第一天有桃子"+peach+"个");
    }
}

第一天有桃子1534

3.基础的银行存款取款问题


设计一个对银行账户余额操作的程序 假设账号: int account=001 密码:int password = 123 余额:balance=1000 进入程序输出选择操作选项: 1.存款,2.取款,3.查询余额 4.退出 要求使用Scanner交互式操作. 存款,取款,查询均需要输入账号密码同时成立
public class D2text9 {

    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        //设置返回位置outer
        outer:
        //允许进行4次输入账号密码的操作循环
        for (int num = 1; num <= 4; num++){
            //输入账号;基础学习的做法,就定义了int型的
            System.out.println("请输入账号:");
            int A = a.nextInt();
            //输入密码
            System.out.println("请输入密码:");
            int B = a.nextInt();
            //定义存款的数值
            int banlance = 1000;

                //如果账号是001,密码是123,则进入操作台
                if (A == 001 && B == 123) {
                    while (true) {
                        System.out.println("请输入选项 1.存钱,2取钱,3查询,4退出");
                        //定义操作指示
                        int oper = a.nextInt();
                        //switch选择
                        switch (oper) {
                            case 1:
                                System.out.println("选择存入");
                                int c = a.nextInt();
                                System.out.println("余额为" + (banlance + c));
                                //对余额进行更新
                                banlance+=c;
                                break;
                            case 2:
                                System.out.println("选择取出");
                                int q = a.nextInt();
                                //如果取得钱超过存款,不能操作
                                if (q>banlance){
                                    System.out.println("您的余额不足,请重新选择!");
                                    break;
                                }
                                System.out.println("余额为" + (banlance - q));
                                //对余额进行更新
                                banlance-=q;
                                break;
                            case 3:
                                System.out.println("余额为"+banlance);
                                break;
                            case 4:
                                System.out.println("下次再见!");
                                //直接退出操作系统
                                return;
                        }
                    }
                }//结束这个账号密码的操作
                //密码错误,报出错误
                else {
                    System.out.println("密码错误,请重新输入账号密码!");
                    //密码错误了,返回循到指定位置outer
                    continue outer;
                }
            }
            //输入密码大于4次,结束循环
            System.out.println("输入错误超过4次,操作台被锁定了!");
            return;
        }
    }


输出:
请输入账号:
111
请输入密码:
111
密码错误,请重新输入账号密码!
请输入账号:
001
请输入密码:
123
请输入选项 1.存钱,2取钱,3查询,4退出
1
选择存入
200
余额为1200
请输入选项 1.存钱,2取钱,3查询,4退出
2
选择取出
500
余额为700
请输入选项 1.存钱,2取钱,3查询,4退出
3
余额为700
请输入选项 1.存钱,2取钱,3查询,4退出
2
选择取出
800
您的余额不足,请重新选择!
请输入选项 1.存钱,2取钱,3查询,4退出
4
下次再见!


4.输出1000以内可以被5整除的数字,且三个数一行;

public class For004 {
    //输出1000之内可以被5整除的数,并且三个一行
    public static void main(String[] args) {
        for (int i = 0; i <= 1000; i++) {
            if(i%5==0){
                System.out.print(i+"\t");
                //这里的\t表示空格
            }
            if(i%(5*3)==0){
                //进行换行处理
                System.out.print("\n");
            }
        }
    }
}

5.for循环打印不同的三角形


5.1打印定点在左上的直角三角形


//定点在左上
public class Demo{
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            for (int j=5;j>i;j--) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

效果:

* * * * * 
* * * * 
* * * 
* * 
* 

5.2打印定点在左下的直角三角形


//定点在左下
public class Demo {
    public static void main(String[] args) {

      for (int i = 0; i <= 5; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        } 
    }
}

效果:

* 
* * 
* * * 
* * * * 
* * * * * 

5.3 打印定点在右下的直角三角形


//定点在右下
public class Demo {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for (int j=5;j>0;j--) {
               if(j<=i){
                   System.out.print("*");
               }
               else{
                   System.out.print(" ");
               }
            }
            System.out.println();
        }
    }
}

效果:

    *
   **
  ***
 ****
*****

5.4打印定点在右上的直角三角形


public class Demo {
    public static void main(String[] args) {
        //定点在右上
        for (int i = 1; i <= 5; i++) {
            for (int j=4;j>5-i;j--) {
                System.out.print(" ");
            }
            for (int k = 5; k>=i ; k--) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

效果:

*****
 ****
  ***
   **
    *

5.5打印定点在正上方的三角形


public class Demo{
    public static void main(String[] args) {
        //定点在正上方
        for (int i = 1; i <= 5; i++) {
            for (int j=5;j>0;j--) {
               if(j<=i){
                   System.out.print("* ");
               }
               else{
                   System.out.print(" ");
               }
            }
            System.out.println();
        }
    }
}

效果:

    * 
   * * 
  * * * 
 * * * * 
* * * * * 

5.6打印定点正下方的三角形


public class Demo{
    public static void main(String[] args) {
        //定点在正下方
        for (int i = 1; i <= 5; i++) {
            for (int j=4;j>5-i;j--) {
                System.out.print(" ");
            }
            for (int k = 5; k>=i ; k--) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

效果:

* * * * * 
 * * * * 
  * * * 
   * * 
    * 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小智RE0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值