在这个用户管理系统中,分别用两个一维数组保存用户名和在线时长,不同数组中相同下标的元素为同一用户的信息,
已知:
int OnlineTime[]={50,60,65,80,92,95,150,90}
String userName[]={"Tom","Xiaoming","Xiaogang","admin","Jeson","Lily","Ruby","Mike"}
编写重载方法分别根据用户在线时长和用户名查询用户在线信息(注意时间姓名可能有相同的值)
【测试用例1】
输入:95输出:用户名:Lily 在线时长:95秒
【测试用例2】
输入:Mike输出:用户名:Mike 在线时长:90秒
【测试用例3】
输入:Mike 90输出:用户名:Mike 在线时长:90秒
Java编程小题目,就这样
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 阿巴阿巴0_0 2021-09-19 22:06关注
我写个获取键盘的给你吧
import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Test { int OnlineTime[]={50,60,65,80,92,95,150,90}; String userName[]={"Tom","Xiaoming","Xiaogang","admin","Jeson","Lily","Ruby","Mike"}; public static void main(String[] args) { Test t=new Test(); Scanner scanner=new Scanner(System.in); String s=scanner.nextLine(); int index=s.indexOf(" "); String name=null; int time=-1; if(index>=0){ name=s.substring(0,index); time=Integer.valueOf(s.substring(index+1)); } else { try { time=Integer.valueOf(s); } catch (Exception e){ name=s; } } int[] arr1=t.select(name,time); System.out.println("输出:"); for (int i = 0; i < arr1.length; i++) { System.out.println("用户名:"+t.userName[arr1[i]]+" 在线时长:"+t.OnlineTime[arr1[i]]); } } public int[] select(int time){ return select(null,time); } public int[] select(String name){ return select(name,-1); } public int[] select(String name,int time){ Set<Integer> set=new HashSet<Integer>(); if(name!=null){ for (int i = 0; i < userName.length; i++) { if(name.equals(userName[i])){ set.add(i); } } } boolean finded=false; if(time!=-1){ for (int i = 0; i < OnlineTime.length; i++) { if(OnlineTime[i]==time){ if(name==null){ set.add(i); finded=true; } else { for (int index:set) { if(i==index){ finded=true; return new int[]{i}; } } } } } } if(time!=-1 && !finded){ return new int[]{}; } int[] ret=new int[set.size()]; int i=0; for (int index:set) { ret[i++]=index; } return ret; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal
- ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
- ¥20 OPENVPN连接问题
- ¥15 flask实现搜索框访问数据库
- ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上