Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_Input - Fatal编程技术网

Java 程序不读取第一个字符串输入

Java 程序不读取第一个字符串输入,java,string,input,Java,String,Input,在网上搜索了大约30分钟,但在任何地方都找不到此错误。所以,基本上我有一个方法在矩阵中查找某人的电子邮件,以便能够更改它。问题是,当我进入案例1时,我的程序只读取新电子邮件的输入:在我第二次写它时 public static boolean atualizarInfoParticipante(String email,int nEl,String [][]equipas){ int pos=Utilitários.pesquisarElemento1(email,nEl,equipas

在网上搜索了大约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;}
这只是案例的一部分,是唯一一个有错误的案例

输出:


我已经尝试清除无数个点上的缓冲区,但没有任何变化。

我想这是因为你读了两次电子邮件

System.out.print("New email:");
email2=ler.nextLine();
您正在此处阅读电子邮件,并在此处再次阅读:

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

    equipas[pos][0]=ler.nextLine();
}
我所理解的是,如果邮件不存在,你会读两遍。
请把你用来阅读的课程名称也写下来。

没错,我犯了多大的错误。你解决了我的问题,谢谢!我不是巴西人,我是葡萄牙人:
if(Utilitários.pesquisarElemento1(email2,nEl,equipas)==-1){

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