【牛客刷题】每日一练——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;

           }

       }

   }


相关文章
|
1月前
|
存储 Java 容器
JAVA基本语法
JAVA基本语法
15 0
|
1月前
|
Java
CSDN每日一练(Java)--小艺的英文名
CSDN每日一练(Java)--小艺的英文名
|
13天前
|
存储 安全 Java
Java语法掌握:打好编程基础的关键(二)
Java语法掌握:打好编程基础的关键
51 0
|
13天前
|
存储 Java
Java语法掌握:打好编程基础的关键(一)
Java语法掌握:打好编程基础的关键
14 0
Java语法掌握:打好编程基础的关键(一)
|
1月前
|
Java 程序员 数据安全/隐私保护
Java中的异常语法知识居然这么好玩!后悔没有早点学习
Java中的异常语法知识居然这么好玩!后悔没有早点学习
32 1
|
1月前
|
存储 Java API
JAVA的基础语法
JAVA的基础语法
11 0
|
1月前
|
Java API
JAVA的语法和基本结构
JAVA的语法和基本结构
|
1月前
|
移动开发 前端开发 JavaScript
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(下)
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(下)
|
1月前
|
JavaScript 前端开发 Java
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(中)
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(中)