Java基础练习题01基本控制流程

2023-11-05

1、输入一个字符,判断它是不是字母,是不是数字,是不是空格字符?

public static void main(String[] args) {
        System.out.print("请输入一个字符:");
        Scanner input = new Scanner(System.in);
        char a = input.nextLine().charAt(0);
        if ((a >= 65 && a <= 90) || (a >= 97 && a <= 122)) {
            System.out.println("你输入的字符串为字母!");
        } else if (a >= 48 && a <= 58) {
            System.out.println("你输入的字符串为数字!");
        } else if (a==32) {
            System.out.println("你输入的字符串为空格字符!");
        } else {
            System.out.println("你输入的字符串不是字母,不是数字 也不是空格字符!");
        }
    }

2、输入一个整数,判断它是偶数还是奇数?

public static void main(String[] args) {
        System.out.println("请输入一个整数:");
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        if (x%2==0){
            System.out.println("您输入的是偶数!");
        }else {
            System.out.println("您输入的是奇数!");
        }
    }

3、企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%;
高于100万元时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

public static void main(String[] args) {
        System.out.println("请输入当月利润:");
        Scanner sc=new Scanner(System.in);
        long x=sc.nextLong();

        if (x<=1000000){
            System.out.println(x*0.1);
        }else if (x>1000000 && x<=2000000){
            System.out.println(x*0.1+(x-1000000)*0.075);
        }else if (x>2000000 && x<=4000000){
            System.out.println(x*0.1+(x-1000000)*0.075+(x-2000000)*0.05);
        }else if (x>4000000 && x<=6000000){
            System.out.println(x*0.1+(x-1000000)*0.075+(x-2000000)*0.05+(x-4000000)*0.03);
        }else if (x>6000000 && x<=10000000){
            System.out.println(x*0.1+(x-1000000)*0.075+(x-2000000)*0.05+(x-4000000)*0.03+(x-6000000)*0.015);
        }else {
            System.out.println(x*0.1+(x-1000000)*0.075+(x-2000000)*0.05+(x-4000000)*0.03+(x-6000000)*0.015+(x-10000000)*0.01);
        }
    }

4、已知某年某月,问这个月共有多少天?

public static void main(String[] args) {
        System.out.println("请输入年份:");
        Scanner sr=new Scanner(System.in);
        int x=sr.nextInt();
        System.out.println("请输入月份:");
        Scanner sr2=new Scanner(System.in);
        int y=sr.nextInt();
        if (y==2){
            if (x%4==0 && x%100!=0 || x%400==0){
                System.out.println(x+"年"+y+"月有:29天");
            }else {
                System.out.println(x+"年"+y+"月有:28天");
                    }
             }else if (y==4 || y==6 || y==9||y==11){
                System.out.println(x+"年"+y+"月有:30天");
            }else {
                System.out.println(x+"年"+y+"月有:31天");
            }
    }

5、已知某年某月某日,判断这一天是这一年的第几天?

 public static void main(String[] args) {
        System.out.println("请输入年份:");
        Scanner sr1 = new Scanner(System.in);
        int year = sr1.nextInt();
        System.out.println("请输入月份:");
        Scanner sr2 =new Scanner(System.in);
        int month =sr2.nextInt();
        System.out.println("请输入几号");
        Scanner sr3 =new Scanner(System.in);
        int day = sr3.nextInt();
        int sum =0;
        if (month>1){
            for (int i=1;i<month;i++){
                if (i==1 || i==3||i==5||i==7||i==8||i==10||i==12){
                    sum+=31;
                }else if (i==4||i==6||i==9||i==11){
                    sum+=30;
                }else{
                    if (year%4==0 && year%100!=0 || year%400==0){
                        sum+=29;
                    }else {
                        sum+=28;
                    }
                }
            }
        }
        System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+(sum+day)+"天。");
    }

6、输入一个正整数,判断它是不是质数?

public static void main(String[] args) {
        System.out.println("请输入一个正整数:");
        Scanner sr=new Scanner(System.in);
        int x=sr.nextInt();
        int i;
        for (i=2;i<x;i++){
            if (x%i==0){
                System.out.println(x+"不是质数");
                break;
            }
        }
        if (i==x){
            System.out.println(x+"是质数");
        }
    }

7、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

public static void main(String[] args) {
        for (int a=1;a<=9;a++){
            for (int b=0;b<=9;b++){
                for (int c=0;c<=9;c++){
                    if ((a*a*a+b*b*b+c*c*c)==(a*100+b*10+c)){
                        System.out.println(a*100+b*10+c);
                    }
                }
            }
        }
    }

8、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问第10月的兔子总数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…

public static void main(String[] args) {
//方法一:
            int x=0;
            int y=1;
            int z=0;
         for (int i=2;i<=10;i++){
                z=x+y;
                x=y;
                y=z;
             System.out.println("第"+i+"个月共有兔子"+z*2+"只");
         }
         System.out.println("第十个月共有兔子"+z*2+"只");
         //方法二:
            int a=1;
            int b=0;
            for (int i=2;i<=10;i++){
                a=a+b;
                b=a-b;
                System.out.println("第"+i+"个月共有兔子"+a*2+"只");
            }
         System.out.println("第十个月共有兔子"+a*2+"只");
     }
9、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序分析:采取逆向思维的方法,从后往前推断。

public static void main(String[] args) {
        int x=1;
        int y=0;
        for(int i=1;i<10;i++){
            y=2*(x+1);
            x=y;
        }
        System.out.println("猴子第一天一共摘了"+y+"个桃子");
    }

10、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

public static void main(String[] args) {
        int x=1;
        int y=0;
        for(int i=1;i<10;i++){
            y=2*(x+1);
            x=y;
        }
        System.out.println("猴子第一天一共摘了"+y+"个桃子");
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java基础练习题01基本控制流程 的相关文章

随机推荐

  • 【T1】T1飞跃专业版修改账套名称

    问题描述 使用友加畅捷T1飞跃专业版的过程中 建立完账套后 无法从前台操作进行账套名称的修改 解决方法 打开数据库管理器 执行下述语句 进行修改 update master Sub List set ztname 新名称 where ztn
  • 偏导数及其几何意义

    在一元函数中 我们已经知道导数就是函数的变化 率 对于二元函数我们同样要研究它的 变化率 然 而 由于自变量多了一个 情况就要复杂的多 一 几何意义 在xOy平面内 当动点由P x0 y0 沿不同方向变化时 函数f x y 的变化快慢一般说
  • chisel多时钟域设计(注释)

    在数字电路中免不了用到多时钟域设计 尤其是设计异步FIFO这样的同步元件 在Verilog里 多时钟域的设计很简单 只需声明多个时钟端口 然后不同的always语句块根据需要选择不同的时钟作为敏感变量即可 在Chisel里 则相对复杂一些
  • 杂散应用记录

    启动运行路径 etc ini d rc local svn 启动snv svnserve d listen port 3690 r var svn svnrepos
  • 传奇开区助手源码-添加支付平台

    传奇GM都用过的一款开区助手 如何添加支付平台对接兑换 项目截图 创建兑换 1 添加支付平台组合框 2 增加支付回调相关网络 至此添加登陆函数即可实现平台登陆功能 不过要注意的是默认仅支持http 支持https请添加三方网络模块实现 否则
  • 【COCO数据集】Annotations标注解析

    COCO dataset 是计算机视觉领域中最流行的数据集之一 用于对各种视觉任务进行基准测试 例如目标检测 分割 关键点检测等 在数据集中 有118K张图像用于训练 5K张图像用于验证 下载数据集后 目录中内容如下 COCO Annota
  • android studio修改module名称

    新建一个android studio项目 默认Module名称是app 右键app选择Rename 或者Shift F6也可以 重命名module名称 重命名为abc之后中 如图上面箭头所指的app会出错 点击Edit Configurat
  • 多益网络笔试题 随机地从大小为n的数组中选取m个整数。要求每个元素被选中的概率相等

    题目 随机地从大小为n的数组中选取m个整数 要求每个元素被选中的概率相等 时间复杂度是O m 参考链接 https my oschina net u 2822116 blog 795323 分析 这道题目和随机洗牌算法类似 只需要随机选取1
  • Java开发环境搭建03:idea中使用Maven

    一 Maven介绍 Maven项目对象模型 POM 可以通过一小段描述信息来管理项目的构建 报告和文档的项目管理工具软件 Maven是Apache 的开源项目 Maven使用Java开发的 运行需要Java环境的支持 Maven的作用有三点
  • leveldb之Compaction操作下之具体实现

    leveldb之Compaction操作下之具体实现 2015 05 17 19 40 438人阅读 评论 0 收藏 举报 分类 leveldb 13 版权声明 本文为博主原创文章 未经博主允许不得转载 目录 由上文可知 合并主要分为三种
  • Vue 3结合element plus(问题总结)之 table组件实现多选和清除选中

    问题描述和原因 一直出现toggleRowSelection和clearSelection不是方法 问题解决 后来发现getCurrentInstance支持访问内部组件实例 getCurrentInstance 只能在 setup 或生命
  • 人工神经网络matlab代码,matlab神经网络30例代码

    如何在matlab中建立多层bp神经网络 当你用newff的时候 里面有一个参数可以控制层数 比如说 P 0 1 2 3 4 5 6 7 8 9 10 T 0 1 2 3 4 3 2 1 2 3 4 net newff P T 5 这样表示
  • 通讯协议027——全网独有的OPC AE知识四之接口(十一)

    本文继续介绍OPC AE规范的IOPCEventSubscriptionMgt2接口的相关知识 更多通信资源请登录网信智汇 OPC AE规范描述了OPC事件服务器应该实现的对象和接口 实现在多个OPC客户端间共享事件和警报条件 可选的IOP
  • IT项目管理个人作业8

    练习题1 质量标准 要求 学历 全日制统招研究生及以上学历 专业 计算机科学 软件工程 工程管理或相关专业者优先 经验 三年 三年以上相关工作经验 年龄 30 45 论文发表 在顶级期刊上发表过三篇以上论文 技术需求 熟悉项目管理相关知识
  • 13、Efficient Geometry-aware 3D Generative Adversarial Networks

    简介 仅使用单视图 2D 照片集合无监督生成高质量的多视图一致图像和 3D 形状一直是一项长期存在的挑战 现有的3D GAN要么是计算密集型的 要么是进行不3D一致的近似 前者限制了生成图像的质量和分辨率 后者会对多视图一致性和形状质量产生
  • input框限制只能输入两位小数

    1 给数字输入框输入定义触发事件
  • 解决Mysql使用本地IP无法连接

    Mysql使用本地IP无法连接 使用localhost或127 0 0 1正常连接 问题原因 Mysql默认不会开启本地IP连接的权限 需要手动开启 解决方法 1 进入cmd 2 输入mysql u root p 密码 进入mysql 3
  • JS-----------Ajax

    目录 传统网站存在的问题 ajax概述 阿贾克斯 异步和同步的区别 Ajax运行原理 ajax的实现步骤 请求报文 Ajax的其他方法和Ajax配置信息 请求传参的几种格式 get post区别 同源政策 扩展 思维导图 传统网站存在的问题
  • Python列表操作指南:索引、切片、遍历与综合应用

    文章目录 列表 简介 创建列表 索引和切片 列表的长度 列表的拼接和重复 检查元素是否存在 列表的方法 index 方法 count 方法 列表的修改和删除 修改元素 删除元素 列表的排序和反转 添加元素 列表的拷贝 列表的遍历 列表的切片
  • Java基础练习题01基本控制流程

    1 输入一个字符 判断它是不是字母 是不是数字 是不是空格字符 public static void main String args System out print 请输入一个字符 Scanner input new Scanner S