第一题:
输入:
第一行:学生人数
接下来每一行:姓名 语文分 数学分 英语分
输出:(分数全相同排名一样,按姓名字典序排序)
rank1 :name: total: chinese: math: english:
rank2:…
rank2:…
rank4:…

import java.util.*;public class msBank01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//获取第一行(学生数)String s = sc.nextLine();//创建一个排序Set 传进一个排序规则匿名内部类TreeSet<Student> studentTreeSet = new TreeSet<>((o1, o2) -> {//根据总分--语文--数学--英语--姓名(字典序)进行排序if (o1.getTotal() != o2.getTotal()) {return o2.getTotal() - o1.getTotal();} else if (o1.getChinese() != o2.getChinese()) {return o2.getChinese() - o1.getChinese();} else if (o1.getMath() != o2.getMath()) {return o2.getMath() - o1.getMath();} else if (o1.getEnglish() != o2.getEnglish()) {return o2.getEnglish() - o1.getEnglish();} else {return o1.getName().compareTo(o2.getName());}});//按行遍历 创建student塞入TreeSetfor (int i = 0; i < Integer.parseInt(s); i++) {Student student = new Student();String help = sc.nextLine();String[] s1 = help.split(" ");student.setName(s1[0]);student.setChinese(Integer.parseInt(s1[1]));student.setMath(Integer.parseInt(s1[2]));student.setEnglish(Integer.parseInt(s1[3]));student.setTotal(Integer.parseInt(s1[1])+Integer.parseInt(s1[2])+Integer.parseInt(s1[3]));studentTreeSet.add(student);}//遍历TreeSet  index代表rank(排名)//plus意义,排名相同时,plus代替index++int index = 0;int plus = 1;Student pre = new Student();for (Student student : studentTreeSet) {if (index!=0&&pre.getTotal()==student.getTotal()&&pre.getChinese()== student.getChinese()&&pre.getMath()==student.getMath()&&pre.getEnglish()== student.getEnglish()){print(student,index);plus++;}else {index = index+plus;plus=1;print(student,index);}//pre记录上一个学生,比较是否两人排名一样pre = student;}}//提取出的print方法public static void print(Student student,int rank){System.out.println("rank:"+rank+" name:"+student.getName()+" total:"+student.getTotal()+" chinese:"+student.getChinese()+" math:"+student.getMath()+" english:"+student.getEnglish());}//学生类static class Student{String name;int Chinese;int Math;int English;int Total;//...getter and setter...
}

第二题:
第一行输入"1" 判断有几行非空
输入"Q"打印“Quit”
输入其他:打印
Wrong input, Please re-choose
Menu Function Test
1: Count Lines
Q: Quit

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.nextLine();if ("1".equals(s)){//1int res = 0;while (sc.hasNext()){String str = sc.nextLine();if (str!=null&&str.length()!=0){res++;}}System.out.println(res);}else if ("Q".equals(s)){//QuitSystem.out.println("Quit");}else {System.out.println("Wrong input, Please re-choose\n" +"Menu Function Test\n" +"1: Count Lines\n" +"Q: Quit");}}
}

2021-06-26 JAVA开发岗-民生银行笔试算法题相关推荐

  1. java开发岗面经常见题汇总

    参考:绝大部分答案来自网络搜索,特别是JavaGuide. 一.Linux常用命令 1 常用命令大全 2 ping , telnet, curl 使用 ping 测试某个地址是否能连接.ping命令本 ...

  2. 天津大宇宙java开发岗面试

    天津大宇宙java开发岗面试 笔试 面试 笔试 刚开始来我们这里宣讲,介绍了一下天津大宇宙的一些情况,这是一家日本公司投资的企业.有想要去日本发展的可以考虑一下.我们面试的是java开发岗. 他们有个 ...

  3. 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结

    2020春招 / 2021秋招阿里.腾讯.字节.快手.美团 JAVA 开发岗面试高频问题总结 2.1 进程和线程的区别? 2.2 进程的调度算法有哪些?(主要) 2.3 常用 IO 模型? 2.4 s ...

  4. 【格林深瞳22校招开发岗】笔试

    [格林深瞳22校招开发岗]笔试 2022-2-25 10:06 - 11:36 这个是跟58挨着,笔试是通过一个网页进行的. 主要有十一道题目 前面有一些和组原408等相关的选择题和填空题(一题4分) ...

  5. Java 开发岗面试知识点大全解析

    本人简介:北京邮电大学土著硕士研究生,CSDN博客专家,熟悉的技术为Java后台开发.在2017年暑期实习校招中拿到了百度.搜狐.京东和去哪儿网的实习Offer:在2018届校园招聘中,拿到了百度.小 ...

  6. 【第三章:Java开发岗:Redis篇】

    点击:[第一章:Java开发岗:基础篇] HashMap.Synchronized.ThreadLocal.AQS.线程池.JVM内存模型.内存屏障.class文件结构.类加载 机制.双亲委派.垃圾回 ...

  7. 【Java开发岗:SpringCould篇】

    点击:[第一章:Java开发岗:基础篇] 计算机基础问题.HashMap.Fail-safe机制/Fail-fast机制.Synchronized.ThreadLocal.AQS.线程池.JVM内存模 ...

  8. 网易Java开发岗面试分享

    应对互联网技术面试绝不仅仅是刷题就可以达到的.首先选择技术岗位,其次每个岗位开始都是先着手面经,多看到了解,提炼出必考的技术点合集,最后针对这些必考技术,系统学习,融会贯通. 对这个岗位的必备技能,一 ...

  9. 滴滴java开发面试题_滴滴出行(小桔科技)亲身面试经验分享,java开发岗

    2020.11.25 概要 本次面试是最近刚面的. PS:本人java开发2年经验,这次面的是滴滴出行(小桔科技)java开发岗. 2020.11.30 滴滴又打来电话了, 预定12.3.星期四面试, ...

最新文章

  1. 滚动条——WPF ScrollViewer的应用
  2. php 显示ip所属地 (qq版)
  3. MongoDB与Spring集成教程
  4. 通讯录 app 使用哪种协议查找服务器上存储的联系人?,uniapp通讯录查找
  5. VB得到指定文件夹下的文件列表
  6. Git:取消合并方式
  7. 【angularjs】pc端使用angular搭建项目,实现导出excel功能
  8. 台式计算机拆机步骤ppt,三相异步电动机拆装的方法和步骤.PPT
  9. CmsEasy7.6.3.2逻辑漏洞
  10. 自著——30天自制计算机语言解释器 目录
  11. sql:mysql:函数:字符串函数
  12. [2019 icpc徐州] H.Yuuki and a problem 带修改的主席树(主席树+树状数组)
  13. Jenkins节点添加采用agent出错解决方案-not reachable
  14. 年底大标季来袭,一步之遥2.0投标培训班助你实力升级!
  15. 4PS-4CS--4RS
  16. Web前端之HTML超文本标记语言
  17. google Map API实现地址解析
  18. LeetCode——2309. 兼具大小写的最好英文字母
  19. IDEA项目中与Git仓库出现的常见问题_小结
  20. 浅谈微信小程序的功能定位和使用场景

热门文章

  1. 点击返回页面顶部(h5、js、jQuery 三种方式)
  2. BEV感知:BEVDet
  3. WeTest性能测试工具PerfDog为什么这么牛这篇文章告诉你
  4. mysql军刀_mysql基础操作
  5. 释放自己内心的能量---赞一下周光耀老师
  6. (转)运行时: 使进程和线程同步
  7. E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)
  8. Flask实现MTV分层
  9. 第六次物种大灭绝快来了
  10. Win10系统磁盘问题----- 分区、c盘空间清理、扩展卷、恢复分区解决办法合集