前言:
今天大家对“java语言打印一个表格怎么打”大概比较关注,看官们都想要了解一些“java语言打印一个表格怎么打”的相关内容。那么小编同时在网上搜集了一些关于“java语言打印一个表格怎么打””的相关知识,希望姐妹们能喜欢,看官们快快来了解一下吧!为了增加后面示例程序的趣味性,需要程序能够接收输入,并以适当的格式输出。当然,现代的程序都使用GUI收集用户的输入,然而,编写这种界面的程序需要使用较多的工具与技术,目前还不具备这些条件。主要原因是需要熟悉Java程序设计语言,因此只要有简单的用于输入输出的控制台就可以了。第7章~第9章将详细地介绍GUI程序设计。
3.7.1 读取输入
前面已经看到,打印输出到"标准输出流"(即控制台窗口)是一件非常容易的事情,只要调用System.out.println即可。然而,读取"标准输入流"System.in就没有那么简单了。要想通过控制台进行输入,首先需要构造一个Scanner对象,并与"标准输入流"System.in关联。
Scanner in = new Scanner(System.in);
(构造器和new操作符将在第4章中详细地介绍。)
现在,就可以使用Scanner类的各种方法实现输入操作了。例如,nextLine方法将输入一行。
System.out.println("What is your name?");String name = in.nextLine();
在这里,使用nextLine方法是因为在输入行中有可能包含空格。要想读取一个单词(以空白符作为分隔符),就调用next()方法
String firstName = in.next();
要想读取一个整数,就调用nextInt方法。
System.out.println("How old are you?");int age = in.nextInt();
与此类似,要想读取下一个浮点数,就调用nextDouble方法。
在程序清单3-2的程序中,询问用户姓名和年龄,然后打印一条如下格式的消息:
Hello, Cay. Next year, you'll be 52
最后,在程序的最开始添加上一行:
import java.util.*
Scanner类定义在java.util包中。当使用的类不是定义在基本java.lang包中时,一定要使用import指示字将相应的包加载进来。有关包与import指示字的详细描述请参看第4章。
程序清单3-2 InputTest/InputTest.java
import java.util.Scanner;public class InputTest { public static void main(String[] args) { Scanner in = new Scanner(System.in); //get first input System.out.println("what is your name?"); String name = in.nextLine(); //get second input System.out.println("How old are you?"); int age = in.nextInt(); //display output on console System.out.println("Hello,"+ name +". Next year,you'll be "+ (age+1)); }}
注释:因为输入是可见的,所以Scanner类不适用于从控制台读取密码。Java SE 6特别引入了Console类实现这个目的。要想读取一个密码,可以采用下列代码:
Console cons = System.console();
String username = cons.readLine("User name: ");
char[] passwd = cons.readPassword("Password: ");
为了安全起见,返回的密码存放在一维字符数组中,而不是字符串中。在对密码进行处理之后,应该马上用一个填充覆盖数组元素(数组处理将在本章稍后介绍)。
采用Console对象处理输入不如采用Scanner方便。每次只能读取一行输入,而没有能够读取一个单词或一个数值的方法。
API java.util.Scanner 5.0
Scanner(InputStream in)
用给定的输入流创建一个Scanner对象。
String nextLine()
读取输入的下一行内容
String next()
读取输入的下一个单词(以空格作为分隔符)
int nextInt()double nextDouble()
读取并转换下一个表示整数或浮点数的字符序列。
boolean hasNext()
检测输入中是否还有其他单词。
boolean hasNextInt()boolean hasNextDouble()
检测是否还有表示整数或浮点数的下一个字符序列。
API java.lang.System 1.0
static Console console()
如果有可能进行交互操作,就通过控制台窗口为交互的用户返回一个Console对象,否则返回null。对于任何一个通过控制台窗口启动的程序,都可使用Console对象。否则,其可用性将与所使用的系统有关。
API java.io.Console 6.0
static char[] readPassword(String prompt, Object...args)static String readLine(String prompt, Object...args) 显示字符串prompt并且读取用户输入,直到输入行结束。args参数可以用来提供输入格式。有关这部分内容将在下一节中介绍。
关注
作者:争渡一生
链接:
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
标签: #java语言打印一个表格怎么打