Java如何输入数据
Java程序开发过程中,需要从键盘获取输入值是常有的事。C语言提供scanf()函数,C++提供cin()获取键盘输入值。那么Java有什么解决方法呢?
方法一:从控制台接收一个字符,然后将其打印出来
package pkg2020华南虎; import java.io.*; /** * * @author yl */ public class JavaInput { public static void main(String[] args) throws IOException { System.out.println("Enter a Char:"); char i=(char)System.in.read(); System.out.println("Your char is:"+i); } }
虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量类型只能是char。当输入数字时,还需要转换类型。
方法二:从控制台接收一个字符串,然后将其打印出来。需要拥到BufferedReader类和InputStreamReader类。
package pkg2020华南虎; import java.io.*; /** * * @author yl */ public class JavaInput02 { 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:"); str=br.readLine(); System.out.println("Your value is:"+str); } }
方法三:最简单,最强大的,就是Scanner类
package pkg2020华南虎; import java.util.Scanner; /** * * @author yl */ public class JavaInput03 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("Input your name:"); String name=sc.nextLine(); System.out.println("Input your age:"); int age=sc.nextInt(); System.out.println("Input your salary:"); double salary=sc.nextDouble(); System.out.println("Your information is follow as:"); System.out.println("Name:"+name+"\n"+"Age:"+age+"\n"+"Salary:"+salary); } }
最后总结一下next()和nextLine()的区别:
在Java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。(这部分不太理解!!!)
最后附上源博客的链接:Constructor的博客