• 【牛客刷题】每日一练——Java语法的强化


    hello,进来的小伙伴,你们好呐!

    系列专栏:【牛客刷题】

    作者简介:一名大二即将大三的科班小白,我很平凡,学会努力!

    给大家推荐一个超级好用的刷题网站——牛客网!

    点击链接注册,开启刷题之路!

    一、四舍五入

    描述

    定义一个int类型变量i,i为由浮点数变量d四舍五入后的整数类型,请将转换后的i进行输出

    输入描述:

    用户随机输入的浮点数

    输出描述:

    四舍五入之后的整数(小数点后一位>=5则进一,否则舍去)

    示例1

    输入:

    14.99

    输出:

    15

    代码实现:

    1. import java.util.Scanner;
    2. public class Main {
    3. public static void main(String[] args) {
    4. Scanner scanner = new Scanner(System.in);
    5. double d= scanner.nextDouble();
    6. int i = (int) d;
    7. double num = d-i;
    8. if(num>=0.50){
    9. System.out.println(i+1);
    10. }
    11. else{
    12. System.out.println(i);
    13. }
    14. }

    二、邮箱验证

    描述

    请根据给出的正则表达式来验证邮箱格式是否合法,如果用户输入的格式合法则输出「邮箱格式合法」,否则输出「邮箱格式不合法」。

    输入描述:

    任意字符串

    输出描述:

    根据输入的邮箱格式判断其合法于不合法,若输入字符串符合邮箱格式则输出邮箱格式合法,否则输出邮箱格式不合法

    示例1

    输入:

    123123@nowcoder.com

    输出:

    邮箱格式合法

    代码实现:

    1. import java.util.Scanner;
    2. public class Main {
    3. public static void main(String[] args) {
    4. Scanner scanner = new Scanner(System.in);
    5. String str = scanner.next();
    6. String emailMatcher="[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+";
    7. if(str.matches(emailMatcher)){
    8. System.out.println("邮箱格式合法");
    9. }else{
    10. System.out.println("邮箱格式不合法");
    11. }
    12. }
    13. }

    三、数列求和

    描述

    有数列为:9,99,999,...,9999999999。要求使用程序计算此数列的和,并在控制台输出结果。(请尝试使用循环的方式生成这个数列并同时在循环中求和)

    输入描述:

    输出描述:

    将该数列的和直接输出

    代码实现:

    1. public class Main {
    2. public static void main(String[] args) {
    3. long count = 1,sum=0;
    4. for(int i=1;i<=10;i++){
    5. count*=10;
    6. sum+=(count-1);
    7. }
    8. System.out.println(sum);
    9. }
    10. }

    四、最小公倍数

    描述

    编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数

    输入描述:

    两个int类型变量作为方法的参数

    输出描述:

    int类型的变量,值为两个数的最小公倍数

    示例1

    输入:

    3 7

    输出:

    21

    代码实现:

    1. import java.util.*;
    2. public class Main {
    3. public static void main(String[] args) {
    4. Scanner console = new Scanner(System.in);
    5. int m = console.nextInt();
    6. int n = console.nextInt();
    7. int result = getCM(m, n);
    8. System.out.println(result);
    9. }
    10. // 辗转相除找最大公约数,然后x * y / 最大公约数就是最小公倍数
    11. public static int getCM(int m, int n){
    12. return m*n/fun(m,n);
    13. }
    14. public static int fun(int m,int n){
    15. if(n==0){
    16. return m;
    17. }else{
    18. return fun(n,m%n);
    19. }
    20. }
    21. }

    五、小球走过路程计算

    描述

    一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?

    输入描述:

    输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)

    输出描述:

    输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)

    示例1

    输入:

    100 3

    输出:

    12.500 250.000

    解题思路:相信这题大家问题应该可以读懂,我用一张图解大家就可以明白了。关键就是第n次落地就是第n-1次弹起,想明白这个就可以看懂代码了。

     代码实现:

    1. import java.util.Scanner;
    2. public class Main {
    3. public static void main(String[] args) {
    4. Scanner scanner=new Scanner(System.in);
    5. float h=scanner.nextFloat();
    6. int n =scanner.nextInt();
    7. float sum = 0;
    8. for(int i = 0;i
    9. sum+= h;
    10. h/=2;
    11. if(i== n-1){
    12. System.out.println(String.format("%.3f",h)+" "+String.format("%.3f",sum));
    13. }
    14. sum+=h;
    15. }
    16. }
    17. }

  • 相关阅读:
    基于.Net项目实施管理系统设计与实现
    Windows 下 MySQL 8.1 图形化界面安装、配置详解
    将map对象转换成vo对象
    JavaScript (上篇)
    Vue error:0308010C:digital envelope routines::unsupported
    CLion更改大括号位置
    【PyTorch】PyTorch基础知识——张量
    linux-windows服务设置
    Excel文件转换为HTML文件
    Element UI - v-infinite-scroll无限滚动组件
  • 原文地址:https://blog.csdn.net/m0_62426532/article/details/126514024