Java 如何删除输出中的空最后一行?

Java 如何删除输出中的空最后一行?,java,hashmap,Java,Hashmap,我正在努力解决这个问题 为了解决这个问题,我用hashmap创建了一个字典,我想用这个人的名字搜索电话号码。如果有具有该名称的条目,请使用名称打印号码,否则将无法找到打印 public static void main(String []args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(); Map<String,Integer> map= new HashMap<Str

我正在努力解决这个问题

为了解决这个问题,我用hashmap创建了一个字典,我想用这个人的名字搜索电话号码。如果有具有该名称的条目,请使用名称打印号码,否则将无法找到打印

public static void main(String []args){
    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
    Map<String,Integer> map= new HashMap<String,Integer>();
    for(int i = 0; i < n; i++){
        String name = scan.next();
        int phone = scan.nextInt();
        // Write code here

        map.put(name,phone);   
    }
     while(scan.hasNext()){

         String s = scan.next();
        // Write code here

        if(map.containsKey(s)){
        System.out.println(s+"="+map.get(s));
        }
        else{
            System.out.println("Not Found");
        }

    }   
    scan.close();
}

您正在使用
System.out.println
打印输出,因此,在您的消息后将打印一行新行

如果不希望出现这种行为,请使用
System.out.print


尊敬。

您正在使用
System.out.println
打印输出,因此,在您的邮件后将打印一行新行

如果不希望出现这种行为,请使用
System.out.print


问候。

第一件事是,由于简单的打字错误,你在网上评委会上得到了错误的答案。你写道:

System.out.println("Not Found");
但在线判断要求是
未找到
。因此,它应该是:

System.out.println("Not found");
在这一点上,你会在网上得到正确的答案,这是真的。但是,在这种情况下,无论问题的标题暗示什么,都是一个真正的问题,即,你实际上在最后得到了一条额外的线。也许,在线法官在找到正确答案后忽略了额外的检查

现在,为了解决这个问题,您的while循环应该是这样的:

while (in.hasNext()) {
    String s = in.next();  
    if (map.containsKey(s))
        System.out.print(s + "=" + map.get(s));
    else
        System.out.print("Not found");
    if (in.hasNext())
        System.out.println();
}

通过使用if语句进行额外检查,您将在除最后一行之外的所有输出之后打印新行。

第一件事是,由于简单的打字错误,您在在线判断中得到了错误的答案。你写道:

System.out.println("Not Found");
但在线判断要求是
未找到
。因此,它应该是:

System.out.println("Not found");
在这一点上,你会在网上得到正确的答案,这是真的。但是,在这种情况下,无论问题的标题暗示什么,都是一个真正的问题,即,你实际上在最后得到了一条额外的线。也许,在线法官在找到正确答案后忽略了额外的检查

现在,为了解决这个问题,您的while循环应该是这样的:

while (in.hasNext()) {
    String s = in.next();  
    if (map.containsKey(s))
        System.out.print(s + "=" + map.get(s));
    else
        System.out.print("Not found");
    if (in.hasNext())
        System.out.println();
}

通过使用if语句进行额外检查,您将在除最后一行之外的所有输出之后打印新行。

您可以提供您的输入吗?n是条目数,name和phone分别是人员姓名和电话号码,s是我们要搜索的名称。我使用的是一个在线编辑器。我只需提交代码,然后单击“运行”。输入会自动进行,以检查代码是否正确,仅因为这一额外的行,我无法通过测试用例。您能提供您的输入吗?n是条目数,name和phone分别是人们的姓名和电话号码,s是我们要搜索的名称。我使用的是一个在线编辑器。我只需提交代码,然后单击“运行”。输入会自动进行,以检查代码是否正确,并且由于这一额外的行,我无法通过测试用例。我已经试过了。是的,它不会在输出中提供任何额外的行,但是不同输入的结果会连接在一起。那样看起来不太好,我试过了。是的,它不会在输出中提供任何额外的行,但是不同输入的结果会连接在一起。那样看起来不太好。是的,只是因为打字错误,我注意到太晚了。不管怎么说,去掉那条多余的线是我的问题,现在它不见了。所以,谢谢。是的,只是因为打字错误,我注意到它太晚了。不管怎么说,去掉那条多余的线是我的问题,现在它不见了。所以,谢谢你。