Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印前5个男性姓名_Java_Sorting_If Statement - Fatal编程技术网

Java 如何打印前5个男性姓名

Java 如何打印前5个男性姓名,java,sorting,if-statement,Java,Sorting,If Statement,我有一张名单,上面有他们的性别以及有多少人有这个名字。 我的程序根据有多少人同名,按降序打印姓名。我正在使用我试图创建的顶级功能。它被认为是采取了程序和打印前5名的名单 **名单** 伊莎贝拉F 22822 雅各布M 22011 索菲亚F 20566 伊桑M 17956 艾玛F 17277 迈克尔M 17244 杰登M 17101 威廉M 16979 奥利维亚F 16959 亚历山大M 16701 **我想得到的** 雅各布M 22011 伊桑M 17956 迈克尔M 17244 杰登M 171

我有一张名单,上面有他们的性别以及有多少人有这个名字。 我的程序根据有多少人同名,按降序打印姓名。我正在使用我试图创建的顶级功能。它被认为是采取了程序和打印前5名的名单

**名单**

伊莎贝拉F 22822

雅各布M 22011

索菲亚F 20566

伊桑M 17956

艾玛F 17277

迈克尔M 17244

杰登M 17101

威廉M 16979

奥利维亚F 16959

亚历山大M 16701

**我想得到的**

雅各布M 22011

伊桑M 17956

迈克尔M 17244

杰登M 17101

威廉M 16979

**已经完成了排序只需要hep打印前5名男性***

Top = top(5, M);

Collections.sort(oneName, new OneNameCountCompare());
for(OneName b: oneName) {
    System.out.println(Top.b.toString());
}

    }

String top(int many, char sex) {
    String order = "";
    for (sex = sex ; int i < many; i++) {
        order = i; 
    }
    return order;
}        
当你调用

Top = top(5, M);
您的代码与您想要的完全不同。您传递的是M,而不是作为字符的“M”。除非您在某个地方将M定义为char,否则您的代码将无法编译,但IDE会告诉您这一点

之后,您将创建一个名为order的字符串。很公平。但你的循环毫无意义。性=性根本没有效果你是在把性的内容复制到性中。那么我相信你是在多次试图绕过我。我将在这里为您提供实现这一点的代码,因为我相信这可能会有所帮助:

for(int i=1; i<=many; i++){...}

最后你还订单。阅读上述教程后,我会让您自己去弄清楚这会返回什么。

您的代码伤了我的眼睛。添加一个计数器来跟踪到目前为止您打印了多少个姓名。当你达到5时停止。我试图重新格式化你的代码,但你似乎有一些无关的括号。请提供工作代码片段。若语句很奇怪,它看起来更像for语句,但它也不是有效的for语句。请提供至少可以在请求帮助之前编译的代码。请重新格式化代码。仅仅因为空格是可选的,并不意味着你应该在代码中随意添加空格。编写良好的代码具有一致的缩进方案,并且不包含额外的空行。
String.valueOf(i);