IO类

https://www.runoob.com/java/java-files-io.html

image.png

Java Scanner 类

  1. import java.util.Scanner;
  2. public class ScannerDemo {
  3. public static void main(String[] args) {
  4. Scanner scan = new Scanner(System.in);
  5. // 从键盘接收数据
  6. // next方式接收字符串
  7. System.out.println("next方式接收:");
  8. // 判断是否还有输入
  9. if (scan.hasNext()) {
  10. String str1 = scan.next();
  11. System.out.println("输入的数据为:" + str1);
  12. }
  13. scan.close();
  14. }
  15. }
  16. $ javac ScannerDemo.java
  17. $ java ScannerDemo
  18. next方式接收:
  19. runoob com
  20. 输入的数据为:runoob
  21. import java.util.Scanner;
  22. public class ScannerDemo {
  23. public static void main(String[] args) {
  24. Scanner scan = new Scanner(System.in);
  25. // 从键盘接收数据
  26. // nextLine方式接收字符串
  27. System.out.println("nextLine方式接收:");
  28. // 判断是否还有输入
  29. if (scan.hasNextLine()) {
  30. String str2 = scan.nextLine();
  31. System.out.println("输入的数据为:" + str2);
  32. }
  33. scan.close();
  34. }
  35. }
  36. $ javac ScannerDemo.java
  37. $ java ScannerDemo
  38. nextLine方式接收:
  39. runoob com
  40. 输入的数据为:runoob com
  41. next() nextLine() 区别
  42. next():
  43. 1、一定要读取到有效字符后才可以结束输入。
  44. 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  45. 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  46. next() 不能得到带有空格的字符串。
  47. nextLine():
  48. 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  49. 2、可以获得空白。
  50. import java.util.Scanner;
  51. public class ScannerDemo {
  52. public static void main(String[] args) {
  53. Scanner scan = new Scanner(System.in);
  54. // 从键盘接收数据
  55. int i = 0;
  56. float f = 0.0f;
  57. System.out.print("输入整数:");
  58. if (scan.hasNextInt()) {
  59. // 判断输入的是否是整数
  60. i = scan.nextInt();
  61. // 接收整数
  62. System.out.println("整数数据:" + i);
  63. } else {
  64. // 输入错误的信息
  65. System.out.println("输入的不是整数!");
  66. }
  67. System.out.print("输入小数:");
  68. if (scan.hasNextFloat()) {
  69. // 判断输入的是否是小数
  70. f = scan.nextFloat();
  71. // 接收小数
  72. System.out.println("小数数据:" + f);
  73. } else {
  74. // 输入错误的信息
  75. System.out.println("输入的不是小数!");
  76. }
  77. scan.close();
  78. }
  79. }
  80. $ javac ScannerDemo.java
  81. $ java ScannerDemo
  82. 输入整数:12
  83. 整数数据:12
  84. 输入小数:1.2
  85. 小数数据:1.2
  86. import java.util.Scanner;
  87. class ScannerDemo {
  88. public static void main(String[] args) {
  89. Scanner scan = new Scanner(System.in);
  90. double sum = 0;
  91. int m = 0;
  92. while (scan.hasNextDouble()) {
  93. double x = scan.nextDouble();
  94. m = m + 1;
  95. sum = sum + x;
  96. }
  97. System.out.println(m + "个数的和为" + sum);
  98. System.out.println(m + "个数的平均值是" + (sum / m));
  99. scan.close();
  100. }
  101. }
  102. $ javac ScannerDemo.java
  103. $ java ScannerDemo
  104. 12
  105. 23
  106. 15
  107. 21.4
  108. end
  109. 4个数的和为71.4
  110. 4个数的平均值是17.85