String 语句出现逻辑错误';sc.nextLine()';

String 语句出现逻辑错误';sc.nextLine()';,string,input,String,Input,当我运行程序的这一部分时,它无法识别使用“sc.nextLine();”的两个输入语句,但它接受“sc.next();”的条目。有人有什么建议吗 String information() { int l;char at;String nam,id,number;long contact; System.out.println("\nPlease enter your name"); nam=sc.nextLine(); do { Syste

当我运行程序的这一部分时,它无法识别使用“sc.nextLine();”的两个输入语句,但它接受“sc.next();”的条目。有人有什么建议吗

String information()
{
    int l;char at;String nam,id,number;long contact;
    System.out.println("\nPlease enter your name");
    nam=sc.nextLine();
    do
    {
        System.out.println("\nPlease enter your contact number");
        contact=sc.nextLong();
        number=Long.toString(contact);
        l=number.length();
        if(l<5||l>8&&l!=10)
            error();
    }
    while(l<5||l>8&&l!=10);
    System.out.println("\nPlease enter your e-mail id");
    id=sc.nextLine();
    int len=id.length();
    for(int k=0;k<len;k++)
    {
        at=id.charAt(k);
        if(Character.isWhitespace(at))
        {
            error();
            break;
        }
    }
    return nam;
}
字符串信息()
{
int l;char at;字符串nam,id,number;长联系人;
System.out.println(“\n请输入您的姓名”);
nam=sc.nextLine();
做
{
System.out.println(“\n请输入您的联系电话”);
触点=sc.nextLong();
编号=长。toString(触点);
l=数字。长度();
如果(l8&&l!=10)
错误();
}
而(l8&&l!=10);
System.out.println(“\n请输入您的电子邮件id”);
id=sc.nextLine();
int len=id.length();

对于(int k=0;kTry
sc.nextLine

nam=sc.nextLine();

它将nextLine带到一个空行中,因此您需要首先清除缓冲区。

给出的错误是什么?这是一个逻辑错误。因此,当我运行它时,它会显示“请输入您的姓名”,留下一行并显示“请输入您的联系号码”。因此,我无法输入前一条语句。