Java 更改数组中的值
当一个人的名字被提及时,我试图改变他的性别价值观。My functionJava 更改数组中的值,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
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