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

我是学习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


摇曳的蔷薇
浏览 132回答 2
2回答

开心每一天1111

在使用变量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");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java