美文网首页
输入和输出

输入和输出

作者: 十六只猴子王 | 来源:发表于2019-03-08 17:20 被阅读0次

    读取输入

    首先构造一个Scanner对象,并与“标准输入流”System.in关联

    Scanner in = Scannner(System.in);
    
    • 使用Scanner.nextLine方法输出一行
    String name = in.next:ine();
    

    使用nextLine方法输入有可能含有空格因此读取一个单词就可以调用String firstName = in.next();想要读取一个整数则使用int age = in . nextInt();想要读取一个浮点数,调用nextDouble方法
    *使用import指事字将相应的包加载进来,import java.util.*;

    • Scanner 类不适用于控制台读取密码,使用Console类实现
    Console cons = System.console();
    char[] passwd = cons.readPassword("Password:");
    

    为了安全起见密码存放在字符数组中,而不是字符串中,每次只能读取一行输入。

    • String next() 读取输入的下一个单词(以空格作为分隔符)

    格式化输出

    使用printf方法

    • 目前printf支持以下格式:
      %c 单个字符
      %d 十进制整数
      %f 十进制浮点数
      %o 八进制数
      %s 字符串
      %u 无符号十进制数
      %x 十六进制数
      %% 输出百分号%
      一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾书及左对齐等:
      - 左对齐
      + 在一个带符号数前加"+"或"-"号
      0 域宽用前导零来填充,而不是用空白符
      域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的
    • 使用静态String.format 方法创建一个格式化字符串而不打印输出
    String messate = String.format("Hello,%s.Next year,you`ll be %d",name ,age);
    
    • f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
      %f:不指定宽度,整数部分全部输出并输出6位小数。
      %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
      %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
    • d格式:用来输出十进制整数。有以下几种用法:
      %d:按整型数据的实际长度输出。
      %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
      %ld:输出长整型数据。

    日期格式化

    它以 %t开头并且以下面表格中的一个字母结尾。

    捕获.PNG
    • 重复提供日期,索引必须紧跟在%后面,而且必须以$结束
    System.out.printf("%1$s %2$tB %2$td, %2$tY", 
                             "Due date:", new Date());
    

    文件输入和输出

    用File对象构造一个Scanner对象

    Scanner in = new Scanner (Path.get("myfile.txt","UTF-8")
    
    • 想要写入文件就需要构造一个PrintWriter对象
    PrintWriter out = new PrintWriter("myfile.txt","UTF-8");
    

    如果文件不存在,创建改文件

    相关文章

      网友评论

          本文标题:输入和输出

          本文链接:https://www.haomeiwen.com/subject/osnrpqtx.html