Java 控制结构练习题

2023-11-11

练习1

某人有100,000元,每经过一次路口,需要交费,规则如下:

1)当现金>50000时,每次交5%

2)当现金<=50000时,每次交1000

编程计算该人可以经过多少次路口,要求:使用while + break方式完成

public class HomeWork01 {
    public static void main(String[] args) {
        double money = 100000;
        int road = 0;
        while (true) {
            if (money > 50000) {
                //剩余多少钱
                money = money - (money * 0.05);
                road++;
            }else if (money>1000){
                money = money - 1000;
                road++;
            }else {//钱不够
                break;
            }
        }
        System.out.println(road);
    }
}

练习2

判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153=111+ 333+555

public class HomeWork04 {
    public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入一个数字");
        try {
            int number = myScanner.nextInt();
            int a = number/100;//百位
            int b = number%100/10;//十位
            int c = number%10;//个位
            if(number==a*a*a+b*b*b+c*c*c){
                System.out.println(number+"是水仙花数");
            }
            System.out.println("输入的数字不是水仙花数");
        } catch (InputMismatchException e) {
            System.out.println("输入的不是整数");
        }
    }
}

练习3

输出1-100之间的不能被5整除的数,每5个一行

public class HomeWork05 {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 5 != 0) {
                //print标准输出
                System.out.print(i+"\t");
                count++;
                if (count % 5 == 0) {
                    System.out.println();
                }
            }
        }
    }
}

练习4

输出小写的a-z以及大写的Z-A

public class HomeWork06 {
    public static void main(String[] args) {
        //输出小写的a-z以及大写的Z-A
        //考察我们对a-z编码及for的综合使用
        //思路分析
        //1.'b'= 'a'+1,c=‘a’+2
        //2.使用for搞定
        for (char c1 = 'a'; c1 <= 'z'; c1++) {
            System.out.print(c1+" ");
        }
        System.out.println();
        for (char c1 = 'Z'; c1 >= 'A'; c1--) {
            System.out.print(c1 + " ");
        }
    }
}

练习5

求出1-1/2+1/3-1/4…1/100的和

public class HomeWork07 {
    public static void main(String[] args) {
     /* 求出1-1/2+1/3-1/4+1/5.....1/100的和
        思路分析
        1. 1-1/2+1/3-1/4+1/5.....1/100 = (1/1)-(1/2)+(1/3)-(1/4)+(1/5).....(1/100)
        2. 从上面分析可以看到
           (1).一共有100个数。分子为1,分母为1-100
           (2).还发现当分母是奇数时,前面是+,分母是偶数时候,前面是-
           (3).使用for + 判断即可完成
           (4).把结果存到 double sum
           (4).这里有一个隐藏的陷阱,要把公式中的分子1写成1.0,才能得到精确的小数
      */
        double sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 2 != 0) {
                sum += 1.0/i;
            } else {
                sum -= 1.0/i;
            }
        }
        System.out.println(sum);
    }
}

练习6

求1+(1+2) +(1+2+3)+(1+2+3+4) +…+(1+2+3+…+100)的结果

public class HomeWork08 {
    public static void main(String[] args) {
       //求(1)+(1+2)+(1+2+3)+(1+2++4)+(1+2+3+...+100)
       // 思路分析
       //1.一共有100个项相加
       //2.每一项的数字在逐渐增加
       //3.很像一个双层循环
       //4.使用 sum 进行累加即可
        int sum =0;
        for (int i = 1; i <= 100; i++) {
            for (int j = 0; j <=i ; j++) {
                sum+=j;
            }
        }
        System.out.println(sum);

    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 控制结构练习题 的相关文章

随机推荐

  • Unity中协程和线程区别

    协程和线程的效果类似 都可以实现与主线程异步的效果 但是本质不一样 协程在主线程内 通过软件手段实现函数与主线程的异步效果 Startcoroutine IEnumerator Func IEnumerator是迭代器关键字 修饰一个函数
  • 标准单元库---NLDM/CCS library model

    Timing Model 数字芯片设计 除了全定制设计外 绝大部分都是基于std cell的半定制设计 那么std cell的模型就极为重要 尤其半定制 需要把一个std cell看成block box 只考虑其input output p
  • python发送邮件的乱码问题解决方案

    公司项目中需要通过后台发送邮件 邮件内容包括图片附件 如果通过PHPmailer发送 由于邮件服务器可能存在延迟现象 通过PHPmailer发送邮件 需要等待邮件发送成功后才能返回结果 这在实践中证明 有时发送邮件无法即时返回结果 影响用户
  • Python内容聚合

    Python3 教程 Python 标准库概览 pip 设置代理 设置代理 PyCharm支持的4种Python Interpreter和配置方法 Python中import的as语法 Python安装自己的代码到site packages
  • python 停止线程

    import threading import time import inspect import ctypes def async raise tid exctype raises the exception performs clea
  • MySQL索引命中与失效

    目录 创建表 MySQL执行优化器 索引的命中与失效情况 总结 拓展 讨论MySQL索引命中与失效 我们得先来创建表 创建表 SET NAMES utf8mb4 SET FOREIGN KEY CHECKS 0 Table structur
  • 动态规划记录 [动态更新]

    2021 江西省赛A 题目链接 https ac nowcoder com acm contest 21592 A 题意 给出一个布尔矩阵 每个位置的值非零即一 然后问给定p和q 问从 1 1 n m 的所有路径中至少通过p次0 q次1的路
  • Java技术栈(跳槽,面试必备)

    Java技术栈 来到北京后 感觉氛围有点浮躁 人员流动性很大 很少有人能沉下心学习 所以最近打算把整理过的知识点拿出来给大家分享下 基础扎实了 无论是工作还是跳槽都很有用 跳槽前将知识点整理成word打印出来 然后背其中的知识点 保证你能面
  • 【渗透测试】常见的数据库

    一 网站暴库漏洞 暴库 就是通过一些技术手段或者程序漏洞得到数据库的地址 并将数据非法下载到本地 黑客非常乐意于这种工作 为什么呢 因为黑客在得到网站数据库后 就能得到网站管理账号 对网站进行破坏与管理 黑客也能通过数据库得到网站用户的隐私
  • GitHub 组织是什么?您应该使用一个吗?

    GitHub 作为一个平台 被个人程序员和大型组织所使用 无论您与多少人一起工作 GitHub Organizations 都为管理多个项目的人员提供了一些不错的工具 GitHub 组织是什么 GitHub Organizations 是
  • 解决linux mysql命令 bash: mysql: command not found 的方法

    解决linux mysql命令 bash mysql command not found 的方法 腾讯云开发者社区 腾讯云 tencent com
  • 服务器的安装与维护技巧——数据湾

    机房服务器的安装与维护是机房管理中的主要任务 安装维护好服务器才能保证服务器正常 安全稳定地运行 才能确保数据的安全 服务器生产的厂家 类型 系列不同其具体的安装维护方法 步骤是有差异的 本文主要以戴尔 DELL 系列服务器为例介绍服务器的
  • 数据结构经典算法集锦

    数据结构经典算法集锦 第2章 线性表 KMP算法 获得next数组 void GetNext char t int next MAX int i 1 j 0 next 1 0 设t 0 中为字符串长度 字符保存在t 1 之后 while i
  • 谈一谈c/c++程序的内存布局

    文章目录 内存布局 文本段 初始化数据段 未初始化数据段 bss 堆区 栈区 如何查看一个程序的内存布局 内存布局 一个C 程序的典型内存布局由以下几部分组成 文本段 初始化数据段 未初始化的数据段 bss 堆区 栈区 文本段 文本段也叫代
  • Golang Http Server源码阅读

    这篇文章出现的理由是业务上需要创建一个Web Server 创建web是所有语言出现必须实现的功能之一了 在nginx fastcgi php广为使用的今天 这里我们不妨使用Go来进行web服务器的搭建 前言 使用Go搭建Web服务器的包有
  • 微信小程序-关于新版隐私协议接口wx.onNeedPrivacyAuthorization getPrivacySetting requirePrivacyAuthorize的适配解读以及实现代码

    代码插件已集成 即插即用 五分钟集成进项目 免费下载 欢迎大家交流 微信小程序用户隐私保护协议弹窗插件下载 官方公告地址 关于小程序隐私保护指引设置的公告 微信开放社区 1 首先看一下这个网址 里边包含涉及到的隐私的接口 这些接口都要适配一
  • MIPS 指令集速查

    MIPS 指令集 共31条 助记符 指令格式 示例 示例含义 操作及其解释 Bit 31 26 25 21 20 16 15 11 10 6 5 0 R type op rs rt rd shamt func add 000000 rs r
  • 泰凌微8258入门指导1-环境搭建

    泰凌微8258入门指导1 环境搭建 第一步 准备工作 1 下载对应SDK包 2 安装jdk环境 2 安装esclipe编译器 3 对SDK进行补丁 4 烧录环境 第一步 准备工作 1 下载对应SDK包 Telink 官网地址 在开发者支持中
  • 命令行清除Redis缓存

    一 打开命令行窗口 打开Redis安装目录下的 redis li exe 二 授权 在打开的命令行里直接操作会提示没有权限 需要先使用auth命令授权 使用方法如下 auth 这里是Redis密码 三 清除缓存 清除缓存有两种方式 清除数据
  • Java 控制结构练习题

    练习1 某人有100 000元 每经过一次路口 需要交费 规则如下 1 当现金 gt 50000时 每次交5 2 当现金 lt 50000时 每次交1000 编程计算该人可以经过多少次路口 要求 使用while break方式完成 publ