当前位置: 首页 > news >正文

Java刷题面试系列习题(五)

文章目录

  • 前言
  • Java题目练习
    • ⭕题目一: 求绝对值,平方根,对数,正弦值
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目二: 输出某一年的各个月份的天数
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目三:日期换算
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目四:判断学生成绩
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目五:字符串去重
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目六:字符串去重
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目七:排队系统
      • 🌟代码演示
      • 💯思路解析
    • ⭕题目八:首尾交替出队
      • 🌟代码演示
      • 💯思路解析
  • ✍ 结语
  • 作者:KJ.JK


🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
 
🍂个人博客首页: KJ.JK
 
💖系列专栏:Java刷题面试系列
 
💨推荐一款实用的模拟面试、刷题练习算法的神器、适用于所有的程序猿👉点击开始免费刷题,跟着博主走上巅峰💪


前言

博主偶然的一次刷题,发现了这个非常不错的网站牛客网,进去里面刷了一下,发现覆盖面非常的广,不仅有大厂的面试真题,还有小白的入门算法题,对刚刚接触计算机语言的人来说非常的友好,所以博主决定开启一个专栏,详细记录在牛客网的刷题思路讲解,大家一起跟随博主走入算法的大门吧!
👉点击开始免费刷题,跟着博主走上巅峰💪


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Java题目练习


⭕题目一: 求绝对值,平方根,对数,正弦值


在这里插入图片描述


🌟代码演示

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        double num = scanner.nextDouble();

        //write your code here......

        System.out.println(Math.abs(num));
        System.out.println(Math.sqrt(num));
        System.out.println(Math.log(num));
        System.out.println(Math.sin(num));

    }
}

💯思路解析

       本题目思路是:"直接使用java内置的math函数使用即可"

⭕题目二: 输出某一年的各个月份的天数


在这里插入图片描述


🌟代码演示

import java.util.Calendar;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int year = console.nextInt();

        //write your code here......
        Calendar c = Calendar.getInstance();
        for(int month = 1; month <= 12; month++){
            c.set(year,month,1);
            c.add(Calendar.DATE,-1);
            int days = c.get(Calendar.DATE);
            System.out.println(year+"年"+month+"月:"+days+"天");
        }
    }
}

💯思路解析

       本题目思路是:"使用对应的Calendar里面的方法"

⭕题目三:日期换算


在这里插入图片描述


🌟代码演示

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Scanner in = new Scanner(System.in);
        String str1 = in.nextLine();

        //write your code here......
        //去除空格,剩下的合并为数组
        String[] arr_timeFormat = str1.split(" ");
        if(arr_timeFormat.length != 6){
            System.out.println("您输入的数据不合理");
        }else{
            //合并
            String combineTimeString = arr_timeFormat[0] + "-" + arr_timeFormat[1] + "-" + arr_timeFormat[2] + " "
                    + arr_timeFormat[3] + ":" + arr_timeFormat[4] + ":" + arr_timeFormat[5];

            //合并过后转化为Date类型
            Date newDateFormat = sdf.parse(combineTimeString);
            System.out.println("北京时间为:" + sdf.format(newDateFormat.getTime()));
            System.out.println("纽约时间为:" + sdf.format(newDateFormat.getTime() - 12*60*60*1000));
        }

    }
}

💯思路解析

       本题目思路是:"使用SimpleDateFormat进行格式化"

⭕题目四:判断学生成绩


在这里插入图片描述


🌟代码演示

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();

        //write your code here......

        if(score>=0&&score<=100){
            System.out.println(score);
        }else {
            System.out.println("分数不合法");
        }
    }
}



💯思路解析

       本题目思路是:"直接用if,else进行判断即可"

⭕题目五:字符串去重


在这里插入图片描述


🌟代码演示

import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        scanner.close();
        HashSet<Character> hs = new HashSet<>();

        //write your code here......
        //set集合是不允许重复的,不包含当前字符就添加进去即可
        for(char c : str.toCharArray()){
            if(!hs.contains(c)){
                hs.add(c);
            }
        }

        for (char c:hs) {
            System.out.print(c);
        }
    }
}



💯思路解析

       本题目思路是:"set集合是不允许重复的,不包含当前字符就添加进去即可"

⭕题目六:字符串去重


在这里插入图片描述


🌟代码演示

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        List<Integer> list = new ArrayList<>();
        int num1 = scanner.nextInt();
        int num2 = scanner.nextInt();
        int num3 = scanner.nextInt();
        int num4 = scanner.nextInt();
        int num5 = scanner.nextInt();
        scanner.close();
        list.add(num1);
        list.add(num2);
        list.add(num3);
        list.add(num4);
        list.add(num5);
        System.out.print("普通for循环:");

        //write your code here......
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i)+" ");
        }


        System.out.println();
        System.out.print("增强for循环:");

        //write your code here......

        for (Integer integer : list) {
            System.out.print(integer+" ");
        }


        System.out.println();
        System.out.print("迭代器遍历:");

        //write your code here......

        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next()+" ");
        }


        System.out.println();
    }
}

💯思路解析

       本题目思路是:"直接使用三种遍历方式即可"

⭕题目七:排队系统


在这里插入图片描述


🌟代码演示

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Guest guest1 = new Guest("小明",false);
        Guest guest2 = new Guest("小军",false);
        Guest vipGuest = new Guest("小红",true);
        Deque<Guest> deque = new ArrayDeque<>();
        deque.add(guest1);
        deque.add(guest2);

        //write your code here......
        deque.addFirst(vipGuest);

        System.out.println(deque);
    }
}
class Guest{
    String name;
    Boolean vip;

    @Override
    public String toString() {
        return name;
    }

    public Guest(String name, Boolean vip) {
        this.name = name;
        this.vip = vip;

    }
}

💯思路解析

       本题目思路是:"直接使用addFirst即可"

⭕题目八:首尾交替出队


在这里插入图片描述


🌟代码演示

import java.util.ArrayDeque;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        ArrayDeque deque = new ArrayDeque();

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String name = scanner.next();
            // 初始化队列中的数据
            deque.offerLast(name);
        }

        // write your code here......
        int i = 0;
        while(!deque.isEmpty()){
            if(i % 2 == 0){
                System.out.println(deque.pollFirst());
            }else{
                System.out.println(deque.pollLast());
            }
            i++;
        }
        
    }

}

💯思路解析

       本题目思路是:"先判断队列是否为空,再对应使用添加pollFirst()即可"

✍ 结语

多刷刷题目,才能早日迈入大厂,巩固我们学习到的知识,下一期见,订阅专栏刷题不迷路
👉点击开始免费刷题,跟着博主走上巅峰💪


作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

相关文章:

  • AprilTags c++识别
  • LeetCode精选200道--二叉树篇(二)
  • 【学习教程】MCM箱模型建模方法及大气O3来源解析实践技术应用
  • IDEA配置
  • 这可能是目前最全的Redis高可用技术解决方案
  • FLASH:一种高效的Transformer设计
  • SpringBoot 和 Vue前后端分离在线工具项目实战,源码+超详细讲解
  • 【前端技术】Vue3 技术学习笔记
  • JS中4种常见的内存泄漏
  • 详解Shiro认证流程
  • 金山办公:订阅为王?
  • 【JavaEE】Spring AOP (面向切面)详解
  • java基于ssm的快递物流管理系统
  • SETTLE约束算法中的坐标变换问题
  • 基于python的家政管理系统毕业设计源码071111
  • [译]前端离线指南(上)
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Angular 4.x 动态创建组件
  • Create React App 使用
  • extract-text-webpack-plugin用法
  • JWT究竟是什么呢?
  • Map集合、散列表、红黑树介绍
  • maya建模与骨骼动画快速实现人工鱼
  • MD5加密原理解析及OC版原理实现
  • nodejs调试方法
  • Python socket服务器端、客户端传送信息
  • Tornado学习笔记(1)
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 复杂数据处理
  • 计算机常识 - 收藏集 - 掘金
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 利用DataURL技术在网页上显示图片
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端之Sass/Scss实战笔记
  • 微信开放平台全网发布【失败】的几点排查方法
  • 协程
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 与 ConTeXt MkIV 官方文档的接驳
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​ArcGIS Pro 如何批量删除字段
  • #考研#计算机文化知识1(局域网及网络互联)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $.proxy和$.extend
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2020)Java后端开发----(面试题和笔试题)
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)平衡树
  • .bat文件调用java类的main方法
  • .NET Core 版本不支持的问题
  • .Net mvc总结
  • .net 无限分类
  • .vue文件怎么使用_vue调试工具vue-devtools的安装