Java编程小题目,就这样

在这个用户管理系统中,分别用两个一维数组保存用户名和在线时长,不同数组中相同下标的元素为同一用户的信息,
已知:
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秒

我写个获取键盘的给你吧

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;
    }
}



import java.util.HashSet;
import java.util.Set;

public class Test {

    int OnlineTime[]={50,90,65,80,92,95,150,90};
    String userName[]={"Tom","Xiaoming","Xiaogang","admin","Jeson","Tom","Ruby","Mike"};

    public static void main(String[] args) {
        Test t=new Test();
        int[] arr1=t.select("Tom",90);
        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;
    }
}

我没获取键盘信息啊,我只是写了重载方法,然后在main方法调用了