Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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 如何打印两列循环_Java_Loops_For Loop - Fatal编程技术网

Java 如何打印两列循环

Java 如何打印两列循环,java,loops,for-loop,Java,Loops,For Loop,我有一个文件,上面有一个名字列表,还有他们的性别,还有有多少人有这个名字。我想把前十名的女性和男性名字并排打印出来。我的问题是当我运行我的程序时,这是它打印的内容 什么是打印 "Female" "Male" Jacob Jacob Ethan Ethan Michael Michael Jayden Jayden William William Alexander Alexander Noah Noah Daniel

我有一个文件,上面有一个名字列表,还有他们的性别,还有有多少人有这个名字。我想把前十名的女性和男性名字并排打印出来。我的问题是当我运行我的程序时,这是它打印的内容

什么是打印

"Female"    "Male"

  Jacob     Jacob
  Ethan     Ethan
  Michael   Michael
  Jayden    Jayden
  William   William
  Alexander Alexander
  Noah      Noah
  Daniel    Daniel
  Aiden     Aiden
  Anthony   Anthony
我想把这个打印出来

"Female"    "Male"

Isabella     Jacob
Sophia       Ethan
Emma         Michael
Addison      William
Elizabeth    Alexander    
Ella         Joshua
Olivia       Mason
Ava          Evan
Emily        Nicholas
Abigail      Gavin                

for(字符串s:descending())
{
对于(int i=0;i<10;i++)
{
字符串z=oneName.get(i).getName();
if('M'==oneName.get(i.getSex())
{
System.out.printf(“%13.10s%10.10s%n”,z,oneName.get(i.getName());
}
if('F'==oneName.get(i.getSex())
{
z=oneName.get(i).getName();
}
}
打破
}
在forLoop外部声明变量z,否则每次都会创建新字符串

String z = null;
for (String s : descending())
{
    for (int i = 0 ;i < 10;i++)
    {
       z = oneName.get(i).getName();
String z=null;
for(字符串s:descending())
{
对于(int i=0;i<10;i++)
{
z=oneName.get(i).getName();

每次打印内容时,
z
始终设置为当前名称

String z = oneName.get(i).getName();
if('M' == oneName.get(i).getSex())
{
    System.out.printf("%13.10s%10.10s%n",z, oneName.get(i).getName());
这表明女性的名字似乎排在第一位

假设数据是按女性/男性的顺序来的,你可以做如下的事情

String maleName = null;
String femaleName = null;
for (int i = 0; i < 10; i++) {

    if ('M' == oneName.get(i).getSex()) {

        maleName = oneName.get(i).getName();

    }
    if ('F' == oneName.get(i).getSex()) {

        femaleName = oneName.get(i).getName();

    }

    if (maleName != null && femaleName != null) {

        System.out.printf("%13.10s%10.10s%n", femaleName, maleName);
        maleName = null;
        femaleName = null;

    }
}

“前十名”是什么意思是什么?如果没有这些信息,任何答案都只是猜测……而且,如果,你似乎只在第一个
的内部打印,
。它现在多次打印每个女性的名字。考虑提供一个能证明你的问题的答案。这将减少混乱和更好的回答
String z = oneName.get(i).getName();
if('M' == oneName.get(i).getSex())
{
    System.out.printf("%13.10s%10.10s%n",z, oneName.get(i).getName());
String maleName = null;
String femaleName = null;
for (int i = 0; i < 10; i++) {

    if ('M' == oneName.get(i).getSex()) {

        maleName = oneName.get(i).getName();

    }
    if ('F' == oneName.get(i).getSex()) {

        femaleName = oneName.get(i).getName();

    }

    if (maleName != null && femaleName != null) {

        System.out.printf("%13.10s%10.10s%n", femaleName, maleName);
        maleName = null;
        femaleName = null;

    }
}
import java.util.ArrayList;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        List<Person> people = new ArrayList<>(25);
        people.add(new Person("Isabella", 'F'));
        people.add(new Person("Jacob", 'M'));
        people.add(new Person("Sophia", 'F'));
        people.add(new Person("Ethan", 'M'));
        people.add(new Person("Emma", 'F'));
        people.add(new Person("Michael", 'M'));
        people.add(new Person("Addison", 'F'));
        people.add(new Person("William", 'M'));
        people.add(new Person("Elizabeth", 'F'));
        people.add(new Person("Alexander", 'M'));
        people.add(new Person("Ella", 'F'));
        people.add(new Person("Joshua", 'M'));
        people.add(new Person("Olivia", 'F'));
        people.add(new Person("Mason", 'M'));
        people.add(new Person("Ava", 'F'));
        people.add(new Person("Evan", 'M'));
        people.add(new Person("Emily", 'F'));
        people.add(new Person("Nicholas", 'M'));
        people.add(new Person("Abigail", 'F'));
        people.add(new Person("Gavin", 'M'));

        String maleName = null;
        String femaleName = null;
        for (Person p : people) {

            if ('M' == p.getSex()) {

                maleName = p.getName();

            }
            if ('F' == p.getSex()) {

                femaleName = p.getName();

            }

            if (maleName != null && femaleName != null) {

                System.out.printf("%13.10s%10.10s%n", femaleName, maleName);
                maleName = null;
                femaleName = null;

            }
        }
    }

    public static class Person {

        private String name;
        private char sex;

        public Person(String name, char sex) {
            this.name = name;
            this.sex = sex;
        }

        public char getSex() {
            return sex;
        }

        public String getName() {
            return name;
        }

    }

}
 Isabella     Jacob
   Sophia     Ethan
     Emma   Michael
  Addison   William
Elizabeth Alexander
     Ella    Joshua
   Olivia     Mason
      Ava      Evan
    Emily  Nicholas
  Abigail     Gavin