Java 更改数组中的值

Java 更改数组中的值,java,arrays,constructor,Java,Arrays,Constructor,当一个人的名字被提及时,我试图改变他的性别价值观。My functionchangerSexe()是为此进程创建的函数。但是我一直得到这个错误。意外类型第83行在函数changerSexe()中,并且是:pers[i].getSexe()=sexe。它不允许我访问sexe并更改它 import java.util.*; class Personne{ private String nomPre; private double taille; private char se

当一个人的名字被提及时,我试图改变他的性别价值观。My function
changerSexe()
是为此进程创建的函数。但是我一直得到这个
错误。意外类型
第83行在函数
changerSexe()
中,并且是:
pers[i].getSexe()=sexe。它不允许我访问sexe并更改它

import java.util.*;
class Personne{
    private String nomPre;
    private double taille;
    private char sexe;
    private double poids;
    private int codePerm;

    public Personne(String nomPre,char sexe,double taille,double poids,int codePerm){
        this.nomPre=nomPre;
        this.taille=taille;
        this.sexe=sexe;
        this.poids=poids;
        this.codePerm=codePerm;
    }
    public Personne(){
    }
    public String getNomPre(){
        return nomPre;
    }
    public double getTaille(){
        return taille;
    }
    public char getSexe(){
        return sexe;
    }
    public double getPoids(){
        return poids;
    }
    public int getCodePerm(){
        return codePerm;
    }
    public String redNomPre(){
        return String.format("%s",getNomPre());
    }
    public String redTaille(){
        return String.format("%f",getTaille());
    }
    public String redSexe(){
        return String.format("%c",getSexe());
    }
    public String redPoids(){
        return String.format("%f",getPoids());
    }
    public String redCodePerm(){
        return String.format("%d",getCodePerm());
    }
    public char getSexe(char sexe){
        return sexe;
    }
}

public class numero2{
    static void afficher(Personne[]pers){
        int count=0;
        for(int i=0;i<pers.length;i++){
            System.out.printf("%s  %c  %f  %f  %d\n",pers[i].getNomPre(),pers[i].getSexe(),pers[i].getTaille(),pers[i].getPoids(),pers[i].getCodePerm());
            count++;
        }
        System.out.printf("Il y a %d de personne.\n",count);
    }

    static void afficherT(Personne[]pers){

        for(int i=0;i<pers.length;i++){
            System.out.printf("%s  %s  %s  %s  %s\n",pers[i].redNomPre(),pers[i].redSexe(),pers[i].redTaille(),pers[i].redPoids(),pers[i].redCodePerm());   
        }
    }


    static int search(Personne[]pers,String mot){

        for(int i=0;i<pers.length;i++){
            if(pers[i].getNomPre()==mot)
                return i;
        }
        return -1;
    }

    static void changerSexe(Personne[]pers,char sexe,String nom ){
        for(int i=0;i<pers.length;i++){
            if(pers[i].getNomPre()==nom){
                pers[i].getSexe()=sexe;

            }               
        }


    }

    public static void main(String[]args){
        Personne[]pers={new Personne("ROY CHANTAL",'F',1.63,54.9,2759),new Personne("MOLAISON CLAUDE",'M',1.57,62.2,1848),
                        new Personne("BEDARD MARC-ANDRE",'M',1.43,80.5,2636),new Personne("MONAST STEPHANIE",'M',1.65,61.7,1750),
                        new Personne("JALBERT LYNE",'F',1.63,61.7,1750),new Personne("DUBE FRANCOISE",'F',1.68,67.5,4612),
                        new Personne("ROBITAILLE JACQUES",'M',1.72,65.4,2325),new Personne("LABELLE LISE",'F',1.79,68.0,1512),
                        new Personne("RIVERIN HELENE",'F',1.71,60.8,2340),new Personne("MICHAUD NORMAND",'M',1.73,103.7,3428),
                        new Personne("RICHER AGATHE",'F',1.65,53.1,3563),new Personne("BEGIN MARIE-LUCE",'F',1.62,49.0,4101),
                        new Personne("ROBITAILLE SUZANNE",'F',1.48,61.5,4371),new Personne("DUMITRU PIERRE",'M',1.92,99.4,3629),
                        new Personne("FILLION ERIC",'M',1.78,75.7,2630),new Personne("DESMARAIS DENISE",'F',1.75,58.7,3215),
                        new Personne("TREMBLAY MARC",'M',1.79,64.9,3529),new Personne("TREMBLAY SYLVIE",'M',1.83,86.2,1538),
                        new Personne("ROBITAILLE SUZANNE",'F',1.58,60.2,4119),new Personne("CHOQUETTE ALAIN",'M',1.78,70.3,5678),
                        new Personne("ROY HELENE",'F',1.62,61.7,4146)};
        System.out.println("1.Remplir le tableau pers et de compter puis retourner le nombre de personnes lues:");
        afficher(pers);
        System.out.println("\n");
        System.out.println("2.Afficher le contenu du tableau pers en utilisant la redefinition de toString:");
        afficherT(pers);
        System.out.println("\n");
        System.out.println("Tremblay Sylvie est a l'index : "+search(pers,"TREMBLAY SYLVIE"));
        System.out.println("Robitaille Suzanne est a l'index : "+search(pers,"ROBITAILLE SUZANNE"));
        System.out.println("Tremblay Caroline est a l'index : "+search(pers,"TREMBLAY CAROLINE"));

        }
    }
import java.util.*;
班主任{
私有字符串nomPre;
私人双尾;
私密性;
私有双点;
私有int-codePerm;
公共人员(字符串nomPre、字符sexe、双尾、双POID、int codePerm){
这个.nomPre=nomPre;
this.taille=taille;
这个。sexe=sexe;
this.poids=poids;
this.codePerm=codePerm;
}
公职人员(){
}
公共字符串getNomPre(){
返回nomPre;
}
公共双gettaile(){
回程尾流;
}
公共字符getSexe(){
回归性;
}
公共双getpoid(){
返回POID;
}
public int getCodePerm(){
返回代码perm;
}
公共字符串redNomPre(){
返回String.format(“%s”,getNomPre());
}
公共字符串redTaille(){
返回String.format(“%f”,getTaille());
}
公共字符串redSexe(){
返回String.format(“%c”,getSexe());
}
公共字符串redPoids(){
返回String.format(“%f”,getpoid());
}
公共字符串redCodePerm(){
返回String.format(“%d”,getCodePerm());
}
公共char-getSexe(char-sexe){
回归性;
}
}
公共类编号2{
静态无效粘贴器(人员[]人){
整数计数=0;
对于(int i=0;i您需要为要向其写入值的类成员创建“setter”。在您的情况下,您可以将其添加到类人员中:

public void setSexe(char sexe) {
    this.sexe = sexe;
}

然后,使用
pers[i].getSexe()=sexe
,而不是使用
pers[i].setSexe(sexe)
,以下操作将不起作用

pers[i].getSexe() = sexe;
编译器计算expresseion的右值并将其放入左值。但这里您尝试计算右值

Personne

public char getSexe(char sexe) {
    return sexe;
}
此函数的用途是什么。您已经定义了一个getter。 只需将其更改为setter。如下所示:

public void setSexe(char sexe) {
    this.sexe = sexe;
}
现在,您可以在
changerSexe(…)
函数中使用它,方法是替换:

pers[i].getSexe() = sexe;
为此:

pers[i].setSexe(sexe);

你能显示第83行在哪里吗?@KickButtowski:我打赌
pers[I].getSexe()=sexe;
,它试图赋值到rvalue.OP,你需要做一个setter,比如
public void setexe(char值)
人事部
上,你不能用你现在的方式来做。@Amadan请把你的答案贴出来,这样我就可以投票给你,不确定是否还有其他问题well@KickButtowski:只需向上投票xpa1492即可:P可能会有更多错误,但这将是他询问的问题…xpa的做法为我修复了错误。Thx