java中如何从用户获取输入
在本教程中,我们将看到如何从java中从用户输入。
有时需要根据用户输入从用户和运行程序进行输入。
有很多方法可以从用户中取消,其中一些是:
- 使用Scanner
- 使用缓冲器
使用Scanner类
Scanner类是从用户输入的方法。
Scanner类是java.util包中提供的,因此使用Scanner类时导入此软件包。
首先,我们创建Scanner类的对象。
当我们创建Scanner类的对象时,我们需要将System.In作为参数传递给代表标准输入流,这是一个预定义对象。
如果我们想从文件中取出输入,那么我们必须传递类文件的对象。
如何创建Scanner类的对象:
Scanner s=new Scanner(System.in);
这里Scanner是一个类,s是一个对象,新的用于分配内存和系统.in是标准输入流。
Scanner类中有各种方法。
其中很少有:
|方法|描述|
| --- - | --- |
| nextInt()|它用于输入整数。 |
| nettleN()|它使用输入字符串。它读取输入包括单词之间的空格。 |
| NextFloat()|它用于输入浮点数。 |
| NextByte()|它用于输入一个字节。 |
|下一个()|它用于输入字符串,但它只读取输入到空间。它无法读取由空间分隔的两个单词。 |
我们可以根据我们想要读取的值类型使用任何方法。
以下源代码显示使用Scanner类。
package org.igi.theitroad; import java.util.Scanner; //import util hpackage for Scanner class public class Employee { public static void main(String args[]) { int id; String name; float salary; Scanner s=new Scanner(System.in); System.out.println("Enter Employee name:"); name = s.nextLine(); //taking string input System.out.println("Enter Employee Id:"); id = s.nextInt(); //taking integer input System.out.println("Enter Employee Salary:"); salary = s.nextFloat(); //taking float input //Printing employee Details System.out.println("Employee details:"); System.out.println("Employee name is: " +name); System.out.println("Employee id is: " +id); System.out.println("Employee salary is: " +salary); s.close(); } }
运行上面的程序时,我们将得到以下输出。
输出:
Enter Employee name: John Enter Employee Id: 101 Enter Employee Salary: 20000.0 Employee details: Employee name is: John Employee id is: 101 Employee salary is: 20000.0
使用BufferedReader类
通过使用System.in在填写在BufferedReader中的InputStreamReader中,我们可以从控制台中的用户读取输入。
BufferedReader可在Java.IO包中使用。
当我们使用BufferedReader类进行输入时,将所有值作为String占用,因此,每当像INT这样的任何其他类型的值时,都需要浮动值。
我们需要用for:integer.parseint for int,float.parsefloat for for for for for for for for for for for for for for for for for for for for for for for for for for for for for flod值。
例子:
package org.igi.theitroad; import java.io.*; //import io package for BufferedReader class public class BufferedReaderMain { public static void main(String args[]) { try //exception handling is done here using try and catch block because sometimes exception occur when uses io classes { //creation of BufferedReader object BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter Student name:"); String name=br.readLine(); //to read from console System.out.println("Enter Student number:"); int num=Integer.parseInt(br.readLine()); //parsing of string into into integer type using wrapper class //Printing employee Details System.out.println("Student details:"); System.out.println("Student name is:" +name); System.out.println("Student number is:" +num); } catch(IOException e) { System.out.println(e.getMessage()); } } }
运行上面的程序时,我们将得到以下输出。
输出:
Enter Student name:Martin Enter Student number: 101 Student details: Student name is:Martin Student number is:101
Please note that BufferedReader class is thread safe while Scanner class is not.