java 命令行输入 及密码读入

Java编程题——模拟输入密码 题目:Java模拟登陆 题目要求: 编写代码模拟三次输入密码场景。密码输入正确则提示“登陆成功”,若密码输入错误则可以继续输入,三次输入后仍失败,则退出程序。 代码示例: import java.util.Scanner; //模拟实现输入密码,若错误三次则直接退出 public class inPutPassword { //输入密码判断 public static boolean inputPassword(String password){ int count = 0 阅读详情

看到几个方法:

这个似乎读入参数,eclipse中要在arguments中给出:

public static void main(String[] args) {
        System.out.println("please type in an integer: ");
            int i=Integer.parseInt(args[0]);

}

------------------------------------------------

这个比较好,读一串字符流

int   n;
BufferedReader   br   =   new   BufferedReader(new   InputStreamReader(System.in));
String   str   =   br.readLine();
n   =   Integer.parseInt(str);

------------------------------------------

这个读一个字符

public static char readChar()
{
   int charAsInt=-1;//to keep the compiler happy
   try
   {
    charAsInt=System.in.read();
   }
   catch (IOException e)
   {
    System.out.println(e.getMessage());
    System.out.println("Fatal error.Ending program.");
    System.exit(0);
   }
   return (char)charAsInt;
}

---------------------------------------------

这个似乎限制了读入的容量,没测试不确定

byte[] buffer=new byte[512];
System.in.read(buffer);
String str=new String(buffer);

---------------------

这个是读入密码,并且不回显,java从1.6版本开始,增加了一个java.io.Console类, 提供了像readPassword()等这样的实用方法,但是要注意的是:如果你在Eclipse里面启动程序调用Console,那么通常是没有控制台,还是得从外部的命令行方式才能调用得到。虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。

也就是说用下面这个方法从eclipse中运行程序则不能用,console会为null

代码是官网上的:

http://download.oracle.com/javase/tutorial/essential/io/cl.html


import java.io.Console;
import java.util.Arrays;
import java.io.IOException;

public class Password {
    
    public static void main (String args[]) throws IOException {

        Console c = System.console();
        if (c == null) {
            System.err.println("No console.");
            System.exit(1);
        }

        String login = c.readLine("Enter your login: ");
        char [] oldPassword = c.readPassword("Enter your old password: ");

        if (verify(login, oldPassword)) {
            boolean noMatch;
            do {
                char [] newPassword1 =
                    c.readPassword("Enter your new password: ");
                char [] newPassword2 =
                    c.readPassword("Enter new password again: ");
                noMatch = ! Arrays.equals(newPassword1, newPassword2);
                if (noMatch) {
                    c.format("Passwords don't match. Try again.%n");
                } else {
                    change(login, newPassword1);
                    c.format("Password for %s changed.%n", login);
                }
                Arrays.fill(newPassword1, ' ');
                Arrays.fill(newPassword2, ' ');
            } while (noMatch);
        }

        Arrays.fill(oldPassword, ' ');

    }
    
    //Dummy change method.
    static boolean verify(String login, char[] password) {
        // this method always returns true in this example.
        // modify this method to verify password according to your rules.
        return true;
    }

    //Dummy change method.
    static void change(String login, char[] password) {
        // modify this method to change password according to your rules.
    }
}





java窗体设计登录名和密码输入 简单的java窗体设计登录名和密码输入 忽略掉后面框的大小不一致的问题 import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; public class Lx2 extends JFrame{ private JLabel label = new JLabel("登录名"); ... 阅读详情

相关推荐

Java之模拟三次密码输入

三次密码登入

m0_62886565的博客 1153

sudo提权自动输入密码--java执行交互式命令

参考了java版的expect4j,expectj的原理,进行了极大的简化,可完成基本的功能: 1,运行java代码,执行交互式命令 2,sudo提权,自动输入密码(echo "password" | sudo -S mkdir /opt/test)

Java控制台程序添加密码输入功能

  为Java控制台程序添加密码输入功能,同时内含全部源程序,也是学习jni的很好例程. 请下载完成后改文件名为rookie.jar,然后在命令行可以执行java  -jar  rookie.jar测试密码输入功能.

java命令行读入密码_Java 命令行交互输入库 JLine 入门

我们都知道,软件的用户界面无非分为 GUI (图形用户界面)和 CLI (命令行用户界面)。对于我们经常使用 Linux 的人来说,命令行界面一定非常熟悉。无论是 Shell 里输入命令的界面,还是如 GDB 等软件的内部交互界面,都是命令行界面。而当我们开发自己的软件,要写认真写一个 CLI 的时候,却发现要手写做出一个好用的命令行界面其实非常困难。因为一个好的命令行界面,在输入/输出之外,还要...

weixin_36026440的博客 614

Java调用Shell命令和脚本

1.介绍 有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本。而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且

GatsbyNewton 9万+

系统输密码java代码

这里用到了分支 结构,以及类的调用import java.util.Scanner; public class Test4{ //实现一个系统的登录功能 //输入密码不能超过3次,系统退出 //提供选项用户选择,当选项错误,重新显示界面 public static void main(String []args ){ Scanner sc= new Scanner(System.in);

young_so_nice的博客 854

java命令行读入密码_java-在命令行上隐藏输入

是的,可以做。 这称为命令行输入屏蔽。 您可以轻松实现此目的。您可以使用单独的线程擦除输入的回显字符,并用星号替换。 使用下面显示的EraserThread类完成此操作import java.io.*;class EraserThread implements Runnable {private boolean stop;/***@param The prompt displayed to the...

weixin_32112641的博客 349

java命令行读入密码_Java命令行程序密码屏蔽输入实现方式

Java命令行程序密码屏蔽输入实现方式与基于AWT或者JSwing的图形用户界面程序相比,在基于命令行Java程序中实现密码屏蔽输入要比较麻烦一些,原因在于JDK没有提供任何基于文本的字符回显控制方法,因此需要编写相应的控制代码。基于通用性方面的考虑,在本文中将编写用于屏蔽用户输入的对象InputMasking,该对象的定义如下://InputMasking.javaimport java.io...

weixin_35211615的博客 511

完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,

完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,如果正确,则提示登录成功;如果错误,显示登录失败的信息,用户再次输入用户名和密码,连续3次输入错误后系统退出。 import java.util.Scanner; class Operate{

Lakers1989的博客 7774

java 从控制台输入密码

如果想从控制台读取用户输入,我们一般用Scanner 类留可以了,但是其输入是可见的,所以Scanner类不适用于从控制台读取密码Java SE 6 引入了Console类实现这个目的。Java.lang.System类提供静态方法console()获取Console类的实例。 •static Console console() Console类提供几个静态方法读取用户输入 不带提示信息读

mg2flyingff的博客 9092

java 输入密码时显示星号6_Java多线程 例子 cmd窗口下 实现输入密码星号显示

import java.util.Scanner;/*** Create Time: 2018-03-17 07:28** @author sheting*/public class TestEraserThread {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (tr...

weixin_30670053的博客 1850

Java-用户修改密码--两次新密码输入不一致则循环输入

package com.itheima.fiest; import java.util.*; public class lx { public static void main(String[] args) { Scanner input=new Scanner(System.in); String name="张三";//用户名 String mima="123456";...

笑对人生 策码奔腾 8066

Java实现自动输入账号密码登陆软件

闲来无事做,每次挂外网要用EasyConnect登陆,然而每次登陆都要去输入密码,主要是没有记忆密码功能,太麻烦了。就想着能不能通过代码实现,使其能点击运行就可以让他自动打开该软件,并将账号密码自动输入自动点击确认登陆。 要实现这些功能,首先要明白Java代码如何打开其他的软件。这就牵扯到了Runtime类,通过Runtime类,调用exec()函数打开软件。 打开软件之后,就要对账号密码进行...

miss_god的博客 8479

简单的密码输入验证代码(java

密码验证问题(要求): 从键盘录入六位密码 ,验证密码是不是六位 ,如果不是六位提示用户重新录入 ,直到录入是六位; 校验密码是否正确 ,三次以内输入密码正确显示欢迎 光临,否则显示密码错误请重新输入(位数不对不算做损失一次输入机会)。 代码: package xunhuanlianxi; import java.util.Scanner; public class TheVerificationOfPassword { public static void main(String..

btfwufeng的博客 3515

隐藏进程命令行参数,例如输入密码等高危操作

目录前言复写argv参数获取标准输入总结前言 启动程序很多时候用命令行参数可以很方便,做到简化一些配置,但是输入用户名密码等操作,如果通过进程查看工具直接看到密码就太不安全了。 因此很有必要研究如何隐藏命令行参数中的某些字段,当然做成配置文件也是极好的,但是无疑给运行程序增加额外操作。编辑保存配置文件也会费点事。 我结合网上找到的一些方案,以及自己总结一个方案,记下笔记。 复写argv参数 ...

janbar的博客 2262

java实现密码输入程序

题目:编写代码模拟三次密码输入的场景。 最多能输入三次密码密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序 public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int count=3;//计算剩余可输入次数 while(count!=0) { System.out.p

m0_57180439的博客 2922
上一篇: 转:java 中数据的:十六,八,二,十进制表示
下一篇: 等差等比数列求和公式,排列组合公式, 二项式求根公式
veryv
博客等级 码龄23年 4粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值