Java中输入的用法

Java中输入

1、 读取输入

1)构建一个Scanner,附属到System.in

Scanner in = new Scanner(System.in);

此时可以使用Scanner类的各种方法来读取输入。例如:nextLine方法来读取一行输入

System.out.print("What is your name?");

String name = in.nextLine();

nextLine():    读取的一行中可能包含空格

next():           读取单个单词。

nextInt():       读取一个整数。

nextDouble():读取一个浮点数

例如:String firstName = in.next();

int age = in.nextInt();

Scanner类包含在java.util包中,因此在使用时,在程序开始处,输入import java.util.*;

注:Scanner不适合用于从终端读取密码,因为输入的文本对于任何人是可见的。在Java SE6中引入了Console类用于该目的。用如下代码来读取密码:

Console  cons = System.console();

String username = cons.readLine("User Name:");

char[] passwd = cons.readPassword("Password: ");

为安全起见,password返回的是一个字符数组,而不是一个字符串。

Console对象用于输入处理不像Scanner一样方便。Console对象一次只能读取一行。没有其他方法用于读取单个单词或数字。

例如:

import java.io.Console;
import java.lang.System;
import java.util.*;

/**
 * This program demonstrates console input
 * @version 1.10 2014-8-5
 * @author Administrator
 *
 */
public class InputTest {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);

		// get first input
		System.out.print("What is your name?");
		String name = in.nextLine();

		// get second input
		System.out.print("How old are you?");
		int age = in.nextInt();

		// display output to console
		System.out.println("Hello, " + name + ". New year you will be " + (age + 1));

		Console  cons = System.console();
		if(cons != null)
		{
			System.out.print("User Name:");
			String username = cons.readLine();

			System.out.print("Password: ");
			char[] passwd = cons.readPassword();
		}
		else
		{
			System.out.println("Console object is null");
		}
	}
}

运行结果:

从以上结果可以看出,Console对象的输入必须在可交互式的终端运行才可以,在Eclipse中直接运行代码会出现console对象为null的问题。

Java中输入的用法

时间: 2024-10-05 04:58:27

Java中输入的用法的相关文章

java中stringBuilder的用法

java中stringBuilder的用法 String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵.如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类.例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能. 通过用一个重载的

Java中List的用法

List接口对Collection进行了简单的扩充. 它的具体实现类常用的有ArrayList和LinkedList. ArrayList从其命名中可以看出它是以一种类似数组的形式存储,因此它的随机访问速度极快,但插入和移除元素的速度很慢. LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作,不适合随机访问,LinkedList可以当作堆栈.队列和双向队列使用. 一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插

跟王老师学集合(十一)java中Comparator的用法

Java中Comparator的用法 主讲人:王少华  QQ群号:483773664 在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package chapter07_11; public class Person {     private int a

关于时间,日期,星期,月份的算法(Java中Calendar的用法)(一)

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("如今时间

java成神之——java中string的用法

java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取指定位置字符和replace的使用 StringBuffer的使用 字符串转换 基本类型的转换 添加字符编码 Base64的编码和解码 结语 java中String的用法 String基本用法 字符串一旦创建在堆中就不可变 字符串声明 String str = "你好"; String s

Java中System.setProperty()用法

Java中System.setProperty()用法 /* * 设置指定键对值的系统属性 * setProperty (String prop, String value); *  * 参数: * prop - 系统属性的名称. * value - 系统属性的值.   *  * 返回: * 系统属性以前的值,如果没有以前的值,则返回 null. *  * 抛出:   * SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允许设置指定属性. 

Java中Class.forName()用法详解

Class.forName()主要功能 Class.forName(xxx.xx.xx)返回的是一个类, Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段. 下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法. 一.什么时候用Class.forName()? 给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?你第一想到的肯定是new,但是注意一点: A a = (A)Class.for

Java中split的用法

简介 Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组. 下面是string.split的用法实例及注意事项: java.lang.string.split  split方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator,[limit]])  stringObj 必选项.要被分解的 String 对象或文字,该对象不会被split方法修改. separator 可选项.字符串或正则表达式对象

Java中Synchronized的用法

版权声明:本文为博主原创文章,未经博主允许不得用于任何商业用途,转载请注明出处. 目录(?)[+] 原文:http://blog.csdn.net/luoweifu/article/details/46613015 作者:luoweifu 转载请标名出处 <编程思想之多线程与多进程(1)--以操作系统的角度述说线程与进程>一文详细讲述了线程.进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础.本文将接着讲一下Java线程同步中的一个重要的概念synchronized. synchro