1>从键盘读入
2>从文件读入
--------------------------------------------------------------------------------------------
package the2; import java.io.*; import java.util.Scanner; public class TestRead { public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = sc.nextLine(); System.out.println("请输入你的年龄:"); int age = sc.nextInt(); System.out.println("请输入你的工资:"); float salary = sc.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); }
//将sc.nextLine()和sc.nextInt()换位置后雪崩,会导致跳过nexLine.原因是nextLine读取了nextInt结尾的enter换行符。
因此可以将以上的nextInt等类型全部换为next(),这样子做需要在导入数据时候进行类型转换。
同样的,试用next()函数时如果不使用\n作为分隔符号,经常会导致第二个的开头多读入一个换行符。
--------------------------------------------------------------------------------------------
关于java io键盘录入 readline的方式
package the2; import java.io.*; public class TestRead { public static void main(String [] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; System.out.println("Enter your value:"); while(!(str = br.readLine()).equals("END")) { System.out.println("your value is :"+str); System.out.println("str is null--->"+(str==null)); } System.out.println("--------------------"); } }
自我推断: 由于缓存区每次结束一定会保留enter是的readline读取换行,故,不可能通过str=...!=null这种方式退出,一种自写的退出方式如上。
时间: 2024-10-14 18:48:58