Java中用户向系统传递参数的三种基本方式

本文介绍Java中通过Main方法参数及Scanner、BufferedReader类实现用户输入处理的方法。具体包括如何利用Main方法参数接受命令行传入的字符串,以及通过Scanner类和BufferedReader类读取不同类型的数据。
摘要由CSDN通过智能技术生成
使用Main方法的参数传递方式

例示代码如下:

public class MainArgs 
{
	public static void main(String[] args) 
	{
		System.out.println(args.length);
		for(String str : args){
			System.out.println(str);
		}
	}
}


在运行 java程序后面跟的字符串(一个或多个 多个用空格隔开)jvm将会把这些一个或多个字符串赋给args数组。当字符串中包含空格时则需要将完整的一个字符串用“”括起来。如下示例:

 

 

使用Scanner类进行用户输入:可以输入用户指定的数据类型

Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。

例示代码如下:

 

import java.util.Scanner;
import java.io.File;
public class ScannerKeyBoardTest 
{
	public static void main(String[] args) throws Exception
	{
		//readFileCon();
		//test2();

		//通过键盘输入指定类型
		Scanner scan = new Scanner(System.in);
		Long l = scan.nextLong();
		System.out.println("l is "+l);
	}
	//读取任何的数据输入返回String
	public static void test1(){
		Scanner scan = new Scanner(System.in);

		//使用 回车键 作为分隔符 默认使用 空格 制表键  回车作为分割付。
		//scan.useDelimiter("\n");	
		while(scan.hasNext()){
			System.out.println("next is " + scan.next());
		}		
	}

	//读取Long型数据的输入返回Long
	public static void test2(){
		Scanner scan = new Scanner(System.in);
		//当输入的为 非 Long数值时 推出循环
		while(scan.hasNextLong()){//阻塞式
			//System.out.println("has over scan.nextLong() begin....");
			System.out.println("next is " + scan.nextLong());
			//System.out.println("scan.nextLong() over has begin....");
		}
	}
	//读取文件中的内容 并打印到控制台
	public static void readFileCon()throws Exception
	{
		Scanner scan  = new Scanner(new File("ScannerKeyBoardTest.java"));
		System.out.println("fileContent is:");
		while(scan.hasNextLine()){
			System.out.println(scan.nextLine());
		}
	}
}
使用BufferedReader类读取用户的输入:返回的只能是String类

例示代码如下

import java.io.BufferedReader;
import java.io.InputStreamReader;
class BufferReaderKeyBoardTest 
{
	public static void main(String[] args) throws Exception
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String in = null;
		while((in = br.readLine()) != null){
			System.out.println("用户输入的是: "+in);
		}		
	}
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值