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

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

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

系列专栏:【牛客刷题】

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

、四舍五入

描述

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

输入描述:

用户随机输入的浮点数

输出描述:

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

示例1

输入:

14.99

输出:

15

代码实现:

   import java.util.Scanner;

   

   public class Main {

       public static void main(String[] args) {

           Scanner scanner = new Scanner(System.in);

           double d= scanner.nextDouble();

           int i = (int) d;

           double num = d-i;

           if(num>=0.50){

               System.out.println(i+1);

           }

           else{

               System.out.println(i);

           }

       }

二、邮箱验证

描述

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

输入描述:

任意字符串

输出描述:

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

示例1

输入:

123123@nowcoder.com

输出:

邮箱格式合法

代码实现:

   import java.util.Scanner;

   

   public class Main {

       public static void main(String[] args) {

   

           Scanner scanner = new Scanner(System.in);

           String str = scanner.next();

           String emailMatcher="[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+";

           if(str.matches(emailMatcher)){

               System.out.println("邮箱格式合法");

           }else{

               System.out.println("邮箱格式不合法");

           }

       }

   }

三、数列求和

描述

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

输入描述:

输出描述:

将该数列的和直接输出

代码实现:

   public class Main {

       public static void main(String[] args) {

           long count = 1,sum=0;

           for(int i=1;i<=10;i++){

               count*=10;

               sum+=(count-1);

           }

           System.out.println(sum);

       }

   }

四、最小公倍数

描述

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

输入描述:

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

输出描述:

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

示例1

输入:

3 7

输出:

21

代码实现:

   import java.util.*;

   

   public class Main {

       public static void main(String[] args) {

           Scanner console = new Scanner(System.in);

           int m = console.nextInt();

           int n = console.nextInt();

           int result = getCM(m, n);

           System.out.println(result);

       }

   // 辗转相除找最大公约数,然后x * y / 最大公约数就是最小公倍数

       public static int getCM(int m, int n){

           return m*n/fun(m,n);

       }

       public static int fun(int m,int n){

           if(n==0){

               return m;

           }else{

               return fun(n,m%n);

           }

       }

   }

五、小球走过路程计算

描述

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

输入描述:

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

输出描述:

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

示例1

输入:

100 3

输出:

12.500 250.000

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

81f7f70e35ca43229ae46d49af595189.png

代码实现:

   import java.util.Scanner;

   

   public class Main {

       public static void main(String[] args) {

           Scanner scanner=new Scanner(System.in);

           float h=scanner.nextFloat();

           int n =scanner.nextInt();

           float sum = 0;

           for(int i = 0;i<n;i++){

               sum+= h;

               h/=2;

               if(i== n-1){

                   System.out.println(String.format("%.3f",h)+" "+String.format("%.3f",sum));

               }

               sum+=h;

           }

       }

   }


相关文章
|
4月前
|
存储 Java 容器
Java基本语法详解
本文深入讲解了Java编程的基础语法,涵盖数据类型、运算符、控制结构及数组等核心内容,帮助初学者构建坚实的编程基础。
|
3月前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
324 1
Redis-常用语法以及java互联实践案例
|
3月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
168 1
|
5月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
269 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
4月前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
270 0
|
5月前
|
存储 安全 Java
从基础语法到实战应用的 Java 入门必备知识全解析
本文介绍了Java入门必备知识,涵盖开发环境搭建、基础语法、面向对象编程、集合框架、异常处理、多线程和IO流等内容,结合实例帮助新手快速掌握Java核心概念与应用技巧。
141 0
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
170 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
148 2
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
162 1
|
9月前
|
缓存 安全 Java
java面试-基础语法与面向对象
本文介绍了 Java 编程中的几个核心概念。首先,详细区分了方法重载与重写的定义、发生阶段及规则;其次,分析了 `==` 与 `equals` 的区别,强调了基本类型和引用类型的比较方式;接着,对比了 `String`、`StringBuilder` 和 `StringBuffer` 的特性,包括线程安全性和性能差异;最后,讲解了 Java 异常机制,包括自定义异常的实现以及常见非检查异常的类型。这些内容对理解 Java 面向对象编程和实际开发问题解决具有重要意义。