为了账号安全,请及时绑定邮箱和手机立即绑定

通过扫描器Java进行的简单注册验证表单

通过扫描器Java进行的简单注册验证表单

摇曳的蔷薇 2021-04-07 21:18:02
我是学习Java的新手,所以我被卡住了,我不明白如何解决此错误,我在这里停留了最后两天,我正在制作一个验证报名表,请向我解释我该如何解决此错误,并且需要更多建议或其他任何方式来发展这种形式是大学作业。使用nextint,nextLine等使用扫描仪进行表单开发,对不起,英语不好,我尽力解释了该问题,我在代码末尾提到了以下错误,请检查一下。import java.util.Scanner;public class Vali{    public static void main(String[] args) {        Scanner s = new Scanner(System.in);        System.out.println("Enter User Name :");        String uname = s.nextLine();        System.out.println("Enter Password :");        String pass = s.nextLine();        System.out.println("Enter Number :");        if (s.hasNextInt()) {            int numberr = s.nextInt() ;         } else {            System.out.println("Please Enter The Number");        }        if (!uname.equals("") && !pass.equals("") && !numberr.equals("") ) {             System.out.println("logged in");        } else if(!uname.equals("")  && !numbe.equals("")) {            System.out.println("fill the feild");        } else {            System.out.println("invalid");        }    }   } 我收到此错误,请指导我Vali.java:23: error: cannot find symbol    if (!uname.equals("") && !pass.equals("") && !numberr.equals("") ){                                                  ^  symbol:   variable numberr  location: class Vali
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

在使用变量numberr之前,该变量是在另一个if语句中创建的,因此,如果未设置该变量,则找不到该变量。也numberr绝不能等于"",因为它是一个整数,而不是一个字符串。为了使您的代码工作如下:


int numberr = 0;

if (s.hasNextInt()) {

    numberr = s.nextInt() ; 

} else {

    System.out.println("Please Enter The Number");

}

if (!uname.equals("") && !pass.equals("") && numberr != 0 ){

    System.out.println("logged in");

}

更好的方法是不检查numberr标准值是否为0,因为用户可能会将其设置为0。因此,您可以引入一个布尔值来确定是否numberr已设置。代码如下所示:


boolean b = false;

int numberr = 0;

if (s.hasNextInt()) {

    numberr = s.nextInt() ; 

    b = true;

} else {

    System.out.println("Please Enter The Number");

}

if (!uname.equals("") && !pass.equals("") && b ){

    System.out.println("logged in");

}

我不知道您到底想达到什么目的,但是如果您要强迫用户输入数字,则可能要考虑像这样使用循环,那么您就不必检查是否numberr设置了,因为用户被迫进行设置:


while(!s.hasNextInt()) {

    System.out.println("Please Enter The Number");

}

int numberr = s.nextInt() ; 

if (!uname.equals("") && !pass.equals("")){

    System.out.println("logged in");

}


查看完整回答
反对 回复 2021-04-28
  • 2 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信