Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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 数组中的True或False_Java_Arrays - Fatal编程技术网

Java 数组中的True或False

Java 数组中的True或False,java,arrays,Java,Arrays,我有3个数组,其中包含一些信息 String[] personages = {"Tya", "Milo", "Lili"}; int[] ages = {21,30,15}; int[] sex = {1,2,1}; // 1 = Woman & 2 - Man 当我想显示每个信息时,我想在sex数组中显示值true或false 例如,值1表示女性,值2表示男性 我希望得到这个最终结果: Personage 1 : Nam

我有3个数组,其中包含一些信息

String[] personages = {"Tya", "Milo", "Lili"};
int[] ages = {21,30,15};
int[] sex = {1,2,1};  // 1 = Woman & 2 - Man 
当我想显示每个信息时,我想在
sex
数组中显示值
true
false

例如,值1表示女性,值2表示男性

我希望得到这个最终结果:

Personage 1 : Name Tya  | Age : 21 | Sex : False
Personage 2:  Name Milo | Age : 30 | Sex : True
Personage 3:  Name Lili | Age : 15 | Sex : False 
我有一条错误消息=>“错误:一条语句不是真的;”


您需要声明将包含布尔值的变量

bool isMale = sex[i] == 1;

然后

 System.out.println("Personage " + (i+1) + " : " + personages[i] + " | age : " + ages[i] + " | sex : " + isMale);

只需将它的数组替换为布尔数组:

boolean[] sex = {false,true,false};
并打印:

for(int i=0; i<personages.length; i++){
     System.out.println("Personage " + (i+1) + " : " + personages[i] + " | age : " + ages[i] + " | sex : " + sex[i]);
              
 }
以及性别的枚举:

public enum Gender {
    MALE,
    FEMALE;
}
然后是这些对象的列表:

List<Person> personages = new ArrayList<>();
请这样做:

for(int i=0; i<personages.length; i++){
     Boolean sexField = sex[i] == 1;
     System.out.println("Personage " + (i+1) + " : " + personages[i] + " | age : " + 
          ages[i] + " | sex : " + sexField);
              
}

for(int i=0;i您的问题的答案是使用高级枚举(请随意用适当的术语替换)

这样做的目的是构造一个枚举,该枚举可以通过
Sex.MALE
Sex.FEMALE
进行寻址,该枚举具有一个内部变量
sexAsBoolean
,该变量设置为枚举的参数-因此对于男性
sexAsBoolean==false
和女性
sexAsBoolean==true

作为一个重要的补充说明:

以下是一个明显的迹象,表明你实际上在做一些“错误的事情”——收集你知道它们属于一起的价值,而不是将它们放在一起——特别是如果人物[0]属于年龄[0]和性别[0]

String[] personages = {"Tya", "Milo", "Lili"};
int[] ages = {21,30,15};
int[] sex = {1,2,1};  // 1 = Woman & 2 - Man 
那么你真正想要的是:

public class Personage {
    String name;
    int age;
    Sex sex; // This is the enum we wrote above.
}
public class Person {
    final String name;
    final int age;
    final Gender gender;

    public Person(String name, int age, Others_git.Gender gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Name "+this.name+ "| Age : "+this.age + " | Sex : "+this.gender;
    }
}

public class Main {

    public static void main(String[] args) {
        List<Person> personages = new ArrayList<>();
        personages.add(new Person("Tya", 21, Gender.FEMALE));
        personages.add(new Person("Milo", 21, Gender.MALE));
        personages.add(new Person("Lili", 21, Gender.FEMALE));
        for(int i=0; i<personages.size(); i++){
            System.out.println("Personage " + (i+1) + " : " + personages.get(i));

        }
    }
}
Personage 1 : Name Tya| Age : 21 | Sex : FEMALE
Personage 2 : Name Milo| Age : 21 | Sex : MALE
Personage 3 : Name Lili| Age : 21 | Sex : FEMALE
for(int i=0; i<personages.length; i++){
     Boolean sexField = sex[i] == 1;
     System.out.println("Personage " + (i+1) + " : " + personages[i] + " | age : " + 
          ages[i] + " | sex : " + sexField);
              
}
public enum Sex {
    MALE(false), FEMALE(true);
    boolean sexAsBoolean;
    public Sex(boolean flag) {
        this.sexAsBoolean = flag;
    }

    @Override
    public String toString() {
        return String.valueOf(flag);
    }
}
String[] personages = {"Tya", "Milo", "Lili"};
int[] ages = {21,30,15};
int[] sex = {1,2,1};  // 1 = Woman & 2 - Man 
public class Personage {
    String name;
    int age;
    Sex sex; // This is the enum we wrote above.
}