gpt4 book ai didi

java - 程序未读取第一个字符串输入

转载 作者:行者123 更新时间:2023-12-02 10:29:46 26 4
gpt4 key购买 nike

在网络上搜索了大约 30 分钟,但没有找到此错误。所以,基本上我有一种方法可以在矩阵中查找某人的电子邮件,以便能够更改它。问题是,当我输入情况 1 时,我的程序仅在我第二次写入时读取“新电子邮件:”的输入。

public static boolean atualizarInfoParticipante(String email,int nEl,String [][]equipas){

int pos=Utilitários.pesquisarElemento1(email,nEl,equipas);
String email2;
if(pos!=-1){
int op;

do{
Formatter out=new Formatter(System.out);
Utilitários.mostrarParticipante(out,equipas[pos]);
//op=Utilitários.menuParticipante(email);
System.out.println();
System.out.println();
System.out.printf("UPDATE USER INFO ",email);
System.out.printf("\n");
System.out.println("email - 1");
System.out.println("Name - 2");
System.out.println("Birth Date - 3");
System.out.println("End - 0");
op=ler.nextInt();
ler.nextLine();

switch(op){
case 1:
System.out.print("New email:");
email2=ler.nextLine();
if(Utilitários.pesquisarElemento1(email2,nEl,equipas)==-1){

equipas[pos][0]=ler.nextLine();
}
else{System.out.println("Email já existente. Alteração inválida.");}
break;}

这只是案例的一部分,也是唯一一个有错误的案例。

输出:

   ac@abc.pt;   Ana Costa;  22/11/1999;    The Best;

UPDATE USER INFO
email - 1
Name - 2
Birth Date - 3
End - 0
1
New email:sss@abc.pt

; Ana Costa; 22/11/1999; The Best;

我已经尝试在无数个地方清除缓冲区,但没有任何改变。

最佳答案

我认为这是因为您阅读了该电子邮件两次。

System.out.print("New email:");
email2=ler.nextLine();

您正在此处阅读电子邮件并再次阅读:

if(Utilitários.pesquisarElemento1(email2,nEl,equipas)==-1){

equipas[pos][0]=ler.nextLine();
}

我的理解是,如果电子邮件不存在,那么您将阅读它两次。请输入您用来阅读的类的名称。

关于java - 程序未读取第一个字符串输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53678687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com