微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在尝试用Java编写电话验证程序,为什么会出现“ else if if”错误?

如何解决我正在尝试用Java编写电话验证程序,为什么会出现“ else if if”错误?

我正在尝试通过文件中的电话号码验证进行额外的功劳分配。大部分结构都是由老师提供的,我必须填写或添加某些部分。我不断收到“其他情况,如果没有”错误,从我看到的内容来看,我没有包含任何“;”。在if / else / else if语句之后,因此我不知道为什么会收到此错误

import java.util.*;
import javax.lang.model.util.ElementScanner6;
import java.io.*;   
import static java.lang.System.*; 


public class Main
{
    public static void main(String[] args) throws IOException
    {       
        Scanner input = new Scanner(new File("ValidPhoneNumber.dat"));  
            
    int lines = input.readLine();
        
        input.nextLine();
        
        String phoneNumber = ' ';
         
        for (int i=0; i<lines; i++)
        {
         phoneNumber = input.nextLine;
            
            if (phoneNumber.length() == 14) 
            {
                out.println("Valid");}
                
               else{
         out.println("Invalid"); 
               
            }
            else if (phoneNumber.length() == 12) //error here
            {
                out.println("Valid");}

                else
            {out.println("Invalid");

            }
            else //error here
            {
                out.print("Invalid");
           
            }
        
        }
        
        input.close();

    } 

} 

错误出现在第63行和第72行

else if (phoneNumber.length() == 12) 

 else 
            {
                out.print("Invalid");
            }

解决方法

在第一个错误中,您需要删除else字。 在第二个错误中,您需要执行相同的操作,或者在第一个错误下更改else的条件才能使用它。 您在这两个错误中依次两次调用else。 要恢复,请执行以下操作:您正在呼叫else,而没有if(错误显示出来了)。

if(){
}else{
 }

if(){
} else if(){
  }else{
   }

这是使用ifelse ifelse的正确方法。在您的代码中,它适用。

在此链接中,您将看到说明: How to use if and else

,

有效选项

 1. Only if
 2. if...else
 3. if...elseif...else

您不能写if..else,然后再写else if。

更正它会起作用

,

您放错了位置

 else{

您将其放在if前面的花括号内,因此在else语句之前的那个块中没有if ,因此,如果没有else。 将其从此处拉出并放在支架之后,如果if后,则关闭开口支架。

,

如果需要指定多个条件,则应使用if->多个else if-> else,这意味着else块是最后一个块。 如上所述,新代码必须如下所示:

for (int i = 0; i < lines; i++) {
    phoneNumber = input.nextLine;
    if (phoneNumber.length() == 14) {
        out.println("Valid");
    } else if (phoneNumber.length() == 12) {
        out.println("Valid");
    } else {
        out.println("Invalid");
    }
}
,
for (int i = 0; i < lines; i++) {
    phoneNumber = input.nextLine;
    if (phoneNumber.length() == 14 || phoneNumber.length() == 12 ) {
        out.println("Valid");
    } else {
        out.println("Invalid");
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。