java利用Scanner获取键盘输入

在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢...

java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数...

Scanner是一个基于正则表达式的文本扫描器~~可以从文件,输入流,字符串中解析出基本类型和字符串类型的值。Scanner类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据。(摘自《疯狂java讲义》李刚)

代码示例:

import java.util.Scanner;

/**
 * Scanner的简单示例
 * */
public class TestScanner {

    public static void main(String[] args) {

        //创建Scanner对象
        //System.in表示标准化输出,也就是键盘输出
        Scanner sc = new Scanner(System.in);
        //利用hasNextXXX()判断是否还有下一输入项
        while (sc.hasNext()) {
            //利用nextXXX()方法输出内容
            String str = sc.next();
            System.out.println(str);
        }
    }
}

  

结果就是:你在控制台输入什么内容,点击回车后,下面就会输出同样的内容,如果你输入的时候点击了回车或者Tab键,那么输出的内容就会在那个地方换行~~

结果如图:

可以利用Scanner在java程序需要参数的时候输入参数

代码示例:TestScannerIn.java

import java.util.Scanner;

/**
 * 使用Scanner在程序需要的时候输入参数
 * */
public class TestScannerIn {

    public static void main(String[] args) {

        /**
         * 写一个输出个人信息的小例子
         * */
        Scanner sc = new Scanner(System.in);
        sc.useDelimiter("/n");
        System.out.println("欢迎来到冲出地球的博客,我是冲出地球^_^");
        System.out.println("请问你叫什么名字呢?");
        String name = sc.nextLine();
        System.out.println("请问你来自哪里呢?");
        String area = sc.nextLine();
        System.out.println("好的,你来自" + area + ",那么,你们那有什么美食吗?");
        String food = sc.nextLine();
        System.out.println("好的,那么我来复述一下你的信息:");
        System.out.println("你叫" + name + ",来自于:" + area);
        System.out.println("你们那最好吃的东西是:" + food);
        System.out.println("对吧~~");
    }
}

  

结果:

Scanner除了可以获取键盘输入外,也可以获取文件中的内容,将文件中的内容一行一行的输入出来

如果文档在项目中(如图)

示例代码:TestScannerRead.java

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

/**
 * 利用Scanner读取项目中的文档
 * */
public class TestScannerRead {

    public static void main(String[] args){

        Scanner sc;
        try {
            //读取项目中的文档
            sc = new Scanner(new File("ScannerTest.txt"));
            System.out.println("项目中的文本内容是:");
            //通过判断是否有下一行来输出文档内容
            while (sc.hasNextLine()) {
                System.out.println(sc.nextLine());
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

  

结果:

 如果从本地读取文档

示例代码:TestScannerRead.java

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

/**
 * 利用Scanner读取本地的文件
 * */
public class TestScannerRead {

    public static void main(String[] args){
        FileInputStream fis;
        try {
            //利用文件上传功能
            fis = new FileInputStream("D:\\text\\ScannerTest.txt");
            //设置文件编码
            Scanner sc = new Scanner(fis,"UTF-8");
            System.out.println("本地文件内容:");
            //输出文件内容
            while (sc.hasNextLine()) {
                System.out.println(sc.nextLine());
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

  

结果:

原文地址:https://www.cnblogs.com/wangweisheng/p/9753961.html

时间: 2024-08-03 10:36:46

java利用Scanner获取键盘输入的相关文章

学习笔记7——使用Scanner获取键盘输入

使用Scanner类可以很方面地获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件.输入流.字符串中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同的构造器可接受文件.输入流.字符串作为数据源,用于从文件.输入流.字符串中解析数据. Scanner主要提供了两个方法来扫描输入: ◆hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int.Long等代表基本数据类型的字符串.如果需要判断是否包含下一个字符串,则可以省略Xxx. ◆nex

使用Scanner获取键盘输入

使用Scanner类可以很方便地便获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件.输入流 .字符串中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同的构造器可接受文件.输入流.字符串作为数据,用于从文件.输入流.字符串中解析数据. Scanner主要提供了两个方法来扫描输入: (1)   hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int.Long等代表基本数据类型的字符串.如果需要判断是否包含下一个字符串,可以省略Xxx.

J2SE知识点归纳笔记(七)---Java IO Part 2:获取键盘输入与IO流体系图

J2SE知识点归纳笔记(七)---Java IO Part 2:获取键盘输入与IO流体系图                                                                 --转载请注明出处:coder-pig 本节引言: 好了,上一节中我们给大家介绍了File与RandomAccessFile类的用法,本节我们还是讲一些 常用的东西,如果学过C++或者C的朋友都知道,获取键盘的输入都很简单,scanf( )和cin就可以 获得我们从控制台输入的参

java程序获取键盘输入(转载)

Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,我们来看以下三种解决方法: 方法一:从控制台接收一个字符,然后将其打印出来 代码示例: 1 //System.in.read()方法,只能接收单个字符 2 private static void inputMethod1() throws IOException { 3

java 获取键盘输入常用的两种方法

java 获取键盘输入常用的两种方法 方法1: 通过 Scanner Scanner input = new Scanner(System.in); String s = input.nextLine(); input.close(); 方法2: 通过 BufferedReader BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String s = input.readLine(); 原文

JavaSE---与用户交互---获取键盘输入

1.概述 1.1 JDK提供了Scanner类,用来获取键盘输入: 1.2 Scanner类是   一个基于正则表达式的文本扫描器,可以从文件.输入流.字符串中解析出基本类型值.字符串值: 1.3 Scanner类提供了多个不同的构造器,可接受文件,输入流,字符串作为数据源,用于从文件.输入流.字符串中解析数据: public final class Scanner implements Iterator<String>, Closeable { =====构造器 private Scanne

JAVA问题总结13-从键盘输入并输出

JAVA问题总结13-从键盘输入并输出,加从键盘输入三个数,输出并按从大到小排序. package java2; /** * 这是一个从键盘输入并输出的一个test * @author xubo601450868 * @time 2015.8.26 * @version v1.0 * */ import java.util.Scanner; public class test4 { public static void main(String[] args){ Scanner s=new Sca

获取键盘输入或者USB扫描枪数据

/// <summary> /// 获取键盘输入或者USB扫描枪数据 可以是没有焦点 应为使用的是全局钩子 /// USB扫描枪 是模拟键盘按下 /// 这里主要处理扫描枪的值,手动输入的值不太好处理 /// </summary> public class BardCodeHooK { public delegate void BardCodeDeletegate(BarCodes barCode); public event BardCodeDeletegate BarCodeE

Go 获取键盘输入,进制转换

#### Go 获取键盘输入,进制转换 最近爱上<<珂矣的心灵独语>> 连续听一下礼拜也不觉得厌: 喜欢她的宁静与安然,喜欢她的坦荡与欢喜,喜欢她的禅意与智慧; ***撑着一苇江湖,耕烟处, 入时无***##### 获取键盘输入 func Scanln(a ...interface{})(n int,err error) 在换行时停止扫描,也就是说通过换行来获得输入结束信号 func Scanf(format string, a ...interface{}) (n int,err