scanner-Scanner录入出现错误,在线等,很着急!!!帮帮我

问题描述

Scanner录入出现错误,在线等,很着急!!!帮帮我

信息类:

 import java.util.Scanner;

public class UserInf {
    final private String userName = new String("JiHe");
    final private String passWord = new String("JiHe123");

    public UserInf() {
        super();
        // TODO Auto-generated constructor stub
        check();
    }

    public void check() {
        System.out.println("Please input userName:");
        Scanner sc = new Scanner(System.in);
        if (this.userName.equals(sc.nextLine())) {
            if (this.passWord.equals(sc.nextLine())) {
                System.out.println("Please input passWord:");
                System.out.println("Check Pass !");
            }
        }
    }
}

测试类:

 public class TestUser {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        UserInf user = new UserInf();
    }

}

问题:console只输出一句,无法输出第二句:

 Please input userName:
JiHe

恳请有爱心的你不吝惜赐教!

解决方案

if (this.passWord.equals(sc.nextLine())) {

你输入完名字紧接着输入密码,但是你现在没有输入密码啊
哈哈
少了一个输入密码的提示
System.out.println("Please input passWord:");
if (this.passWord.equals(sc.nextLine())) {

解决方案二:

楼上正解。。。。。。

解决方案三:

public void check() {
    System.out.println("Please input userName:");
    Scanner sc = new Scanner(System.in);
    if (this.userName.equals(sc.nextLine())) {
            System.out.println("Please input passWord:");
        if (this.passWord.equals(sc.nextLine())) {
            System.out.println("Check Pass !");
        }
    }
}
    你注意提示sc.nextLine()的意思是要扫描当前行,并返回输入信息。你的写法是需要连续两次输入完成后,才会执行下面的checkpass!. 调整为上面的顺序
    会每次都提示。要点是,在每次sc.nextLine()之前都要提示输入信息。

解决方案四:

public class DomDemoXMLUtil {

final private String userName = new String("JiHe");
final private String passWord = new String("JiHe123");
public DomDemoXMLUtil() {
    check();
}
public void check() {
    Scanner sc = new Scanner(System.in);
    boolean flag = true;
    do {
        System.out.println("Please input userName:");
        if (this.userName.equals(sc.next())) {
            while (flag) {
                System.out.println("Please input passWord:");
                if (this.passWord.equals(sc.next())) {
                    System.out.println("Please input passWord:");
                    System.out.println("Check Pass !");
                    flag = false;
                } else {
                    System.out.println("the passWord is error:");
                }
            }
        } else {
            System.out.println("the userName is error:");
        }
    } while (flag);

}

public static void main(String[] args) {
    new DomDemoXMLUtil();
}

}
sc.nextLine()不是接收输入值,它是说输入之后才显示的值也就是你还没输入,也就是sc.nextLine()还没有值,也就是this.userName.equals(sc.nextLine())永远为false,改成sc.next()。

解决方案五:

import java.util.Scanner;

public class UserInf {
final private String userName = new String("JiHe");
final private String passWord = new String("JiHe123");

public UserInf() {
    super();
    // TODO Auto-generated constructor stub
    check();
}

public void check() {
    System.out.println("Please input userName:");
    Scanner sc = new Scanner(System.in);
    if (this.userName.equals(sc.nextLine())) {
                     System.out.println("Please input passWord:");
        if (this.passWord.equals(sc.nextLine())) {
            System.out.println("Check Pass !");
        }
    }
}

}

//试试

解决方案六:

你的代码没有问题,只是 System.out.println("Please input passWord:");
这行提示输入信息的位置放错了,执行到这行代码的时候,其实你的密码输入已经完成了。提到if判断之前就行了。

时间: 2025-01-25 12:23:17

scanner-Scanner录入出现错误,在线等,很着急!!!帮帮我的相关文章

大家好,我刚开始学习java,为什么用scanner输入中文代码错误。

问题描述 大家好,我刚开始学习java,为什么用scanner输入中文代码错误. 大家好,我刚开始学习java,为什么用scanner输入中文代码错误.输入英文没有错误 解决方案 控制台输入会有个字符集编码,所以输出你的输入的时候需要进行对象编码 解决方案二: 好像可以设置字符集 你百度下 解决方案三: 设置字符集为UTF-8 解决方案四: windows->preferences-->general-->Context Text 把下属的 都设置为UTF-8 解决方案五: window

真机调试-真机测试出错误 在线等待大神

问题描述 真机测试出错误 在线等待大神 真机调试错误 No provisioning profiles found: No non–expired provisioning profiles were found. CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 8.1' 怎么回事?公司分了一个开发小组成员给我证书什么的也都是按教程来的 但是就是一真机调试就是这个. 运行一下提

sql语句优化,很着急,在线等,sql如下

问题描述 sql语句优化,很着急,在线等,sql如下 SELECT t1.user_id AS user_id, t1.user_name AS user_name, t1.serv_num AS serv_num, t1.create_date AS create_date, t1.connect_type AS connect_type, t1.login_device AS login_device, t1.login_time AS login_time, ( SELECT timest

string-NumberFormatException错误让我很头痛

问题描述 NumberFormatException错误让我很头痛 String s="17"+" "+"42"+" "+"6"+" "+"Widget,blue"; String a[]=s.split(" "); System.out.println(a[0]); int y=Integer.parseInt(a[0]); System.out

cursor-oracle存储过程,pls-00103错误,新手很急!

问题描述 oracle存储过程,pls-00103错误,新手很急! 主要是遍历一个用户下所有包含某个值的所有表名和列名 新手目前没有分,还请体谅 报错误,3,5行 CREATE OR REPLACE procedure SYS.P_FIND( col_name in varchar USERNAMES in varchar ) authid current_user IS lv_tabname varchar2(50); lv_colname varchar2(50); li_count int

解决方案-php 中curl 35号错误,在线等大神解决

问题描述 php 中curl 35号错误,在线等大神解决 如图,结果返回的信息是求解决方案 解决方案 CURLE_SSL_CONNECT_ERROR (35) A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be cer

在线教育很美吧系列:老师如何借势成名

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 文/黄嘉榔 不容易写到这个系列第四篇,好吧进入正题.在线教育我们都一直都在谈论什么市场.什么势头.未来如何,我现在来谈下在在线教育中最核心的人员-老师,老师们或许是这波互联网浪潮的最高得利者,但是也要看怎么去做以及准备,不是每个人都能够成为猿题库的张小龙那般从传统教育机构离开依然笑傲在线教育等人一样.我这里想了四个的方面来让老师如何借势崛起.

在线教育很美吧系列:明年爆发真相

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 文/黄嘉榔 备注:本文是在线教育很美吧系列之一 在线教育有多火,我就不多说,最近我听到一阵风吹说在线教育明年会是爆发,这是一阵飓风还是一阵虚风,不得而知,但是起码是给予在线教育从业者们一个美好的未来,虽然只是看上去很美.为什么说看上去很美,跟我一起来看看在线教育的历程,看看到底明年是否爆发. 概念期:在线教育即E-Learning,距今十多年

button-求!!!!!!很着急的

问题描述 求!!!!!!很着急的 如何在vc++的对话框程序中,添加一个静态文本和一个button,点button是查找文件,然后假如选择.txt则在静态文本中显示txt中的内容 解决方案 http://zhidao.baidu.com/link?url=FPuzRCE8NLiLWIKvcL37Axqavpxr3G8S2ayt7Lxo46p4Bcqp9gWuz9gbC7jiW34LwpwKHZ5FjbxZN741LlCCvK 解决方案二: 不好意思,没有c币了 解决方案三: 相应代码,你可以参考