java中如何从用户获取输入

时间:2020-02-23 14:35:37  来源:igfitidea点击:

在本教程中,我们将看到如何从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.