Java如何输入数据

Posted 2020华南虎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的博客


 

 

 

 

 

 

 

 

 

 

  

以上是关于Java如何输入数据的主要内容,如果未能解决你的问题,请参考以下文章

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

如何重构这个 Java 代码片段

java代码在片段活动中不起作用

如何使用sublime代码片段快速输入PHP头部版本声明

如何从 Firebase 获取数据到 Recyclerview 中的片段?

如何使用java将数据从片段传递到android中的另一个片段?