• java控制台输入输出总结


    一、控制台输入:

    1.最常用:Scanner

    public static void main(String[] args) {
      System.out.println("请输入数据:");
      Scanner scan = new Scanner(System.in);
      String read = scan.nextLine();
      System.out.println("输入的数据为:"+read);
     }

    备注:

    * scan.next():输入一个不含空格的字符串,
    * scan.nextInt():输入一个整数
    * scan.nextDouble():输入一个double
    * scan.nextByte():输入一个字符

    2.BufferedReader(繁琐)

    public static void main(String[] args) {
      System.out.println("请输入数据:");
      BufferedReader br = new  BufferedReader(new  InputStreamReader(System.in));
      String read="";
      try {
       read=br.readLine();  
      } catch (IOException e) {
       e.printStackTrace();
      }
      System.out.println("输入的数据为:"+read);
     }

    3.System.in

    (1)char类型接收:一次只能读入一个字节数据,不能读取整个输入的字符串

    public static void main(String[] args) {

     char read = '0';
     System.out.println("输入数据:");

     try {
       read = (char) System.in.read();
      }catch(Exception e){
       e.printStackTrace();
      }

    System.out.println("输入的数据为:"+read);

    }

    (2)byte[]接收:System.in.read(byte abyte0[]);

    public static void main(String[] args) {
      System.out.println("请输入数据:");
      int i=0;
      byte b[] = new byte[1024];
      try {
        i = System.in.read(b);
      } catch (IOException e) {
       e.printStackTrace();
      }
      System.out.println(new String(b, 0, i-2));//有两个结束符: ,所以要减2
     }

    二、控制台输出:

    1.正常输出:换行:System.out.println("输出的内容: "+str); 不换行:  System.out.println("输出的内容: "+str);

    2.错误输出:System.err.println("输出内容: "+str);

    3.格式化输入:System.out.printf(format, args);其中:format为指定的输出格式,args为参数  

    原文:http://blog.csdn.net/ajioy/article/details/6778923

     System.out.printf("%+8.3f ", 3.14); //"+"表示后面输出的数字会有正负号,正的+,负的- ;8.3f表示输出浮点数,宽度为8,小数点保持3位有效
       System.out.printf("%+-8.3f ", 3.14);//"-"表示靠左对齐
       System.out.printf("%08.3f ", 3.14);//"0"8位宽度中自动补0
       System.out.printf("%(8.3f ", -3.14);//"("如果是负数,自动加上( )
       System.out.printf("%,f ", 123456.78); //","金钱表示方法,每三位有一个逗号
       System.out.printf("%x ", 0x2a3b); //输出16进制数
       System.out.printf("%#x ", 0x2a3b);//输出带0x标识的16进制数
       System.out.printf("老板:您名字%s,年龄:%3d岁,工资:%,-7.2f ","ajioy",21,36000.00);
       System.out.printf("老板:您名字%1$s,年龄:%2$#x岁 ","ajioy",38); //"n{1}quot;表示用第n个参数

    输出结果如下:

     +3.140
    +3.140
    0003.140
       (3.140)
    123,456.780000
    2a3b
    0x2a3b
    老板:您名字ajioy,年龄: 21岁,
    老板:您名字ajioy,年龄:0x26岁

    注意:console下的输出在实际开发中并不常用,所以理解即可。

  • 相关阅读:
    vijos 1066 弱弱的战壕 树状数组
    vijos 1057 盖房子 简单DP
    完全背包
    HDU 1203 和 HDU 2191
    dp 01背包,完全背包,多重背包 模板
    UVA11624 Fire!
    我们要学习的算法
    Find a way 两路广搜
    NYOJ 最小步数(简单深搜与广搜)
    HDU Dungeon Master广搜
  • 原文地址:https://www.cnblogs.com/whhjava/p/7879894.html
Copyright © 2020-2023  润新知