软件构造-java的输入与输出

读取输入

  读取“标准输入流”(即控制台窗口),首先需要构造一个与“标准输入流”System.in关联的Scanner对象。

Scanner in = new Scanner(Sysyem.in);

  之后,就可以使用Scanner类中的各种方法来进行读取输入了。例如,nextLine方法将读取一行输入:

String name = in.nextLine();

  读取一个整数,就调用nextInt方法,读取浮点数,调用nextDouble方法,读取一个单词(以空白符作为分隔),调用next方法。

int a = in.nextInt();
String name = in.next();

  Scanner类定义在java.util包中,使用import指令导入相应的包。

import java.util*;

格式化输出

  可以使用语句System.out.print(x)将数值x输出到控制台。这条指令将以x的类型所允许的最大非0数位个数打印输出x。例如:

double x = 10000.0/3.0;
System.out.orint(x);

  打印输出:3333.3333333333335.

  但这样的输入会引发一些麻烦,所以在java5之后沿用了C语言函数库中的printf方法。例如,调用System.out.printf("%8.2f",x),会以一个字段宽度打印x,这包括8个字符,另外精度为小数点后的2个字符,也就是说,这回打印一个前导的空格和七个字符,如下所示:

 3333.33

  其他使用方法与c语言的printf类似。

文件的输入与输出

读取文件

  要想读取一个文件,需要构造一个Scanner对象,如下所示:

Scanner in = new Scanner(Path.of("myfile.txt"),StandardCharsets.UTF_8);

  如果文件名中包含反斜杠符号,就要记住在每一个反斜杠之前再额外加一个反斜杠转义。

写入文件

  要写入文件,需要构造一个PrintWriter对象,在构造器中,需要提供文件名和字符编码:

PrintWriter out = new PrintWriter("myfile.txt",StandardCharsets.UTf_8);

  如果文件不存在,那么则会创建该文件,可以像输出到System.out一样使用print、println以及printf命令;

文件读写异常

  在读取文件而文件不存在等情况时,就会发生异常,这需要我们处理IOException类型的异常,可以直接在main函数中使用throws IOException子句标记,或者使用try catch语句来进行异常后的处理,如输出提示信息等。

posted @ 2022-05-14 17:51  例五  阅读(55)  评论(0编辑  收藏  举报