用键盘输入一个数,字符,字符串,数组 (用Java)

1.利用 Scanner 实现从键盘读入integer或float 型数据

import java.util.Scanner; public class Test { public static void main(String args[]) { Scanner in=new Scanner(System.in); //使用Scanner类定义对象 System.out.println("please input a float number"); float a=in.nextFloat(); //接收float型数据 System.out.println(a); System.out.println("please input a integer number"); int b=in.nextInt(); //接收int型数据 System.out.println(b); System.out.println("please input a String "); String c=in.nextLine(); //接收字符串型数据 System.out.println(c); } }

在Java SE 6及以上,可以使用Scanner类取得用户的输入,Scanner类位于java.util包中,如果你要使用Scanner取得用户输入的话,要加上 import java.util.Scanner; 这条语句.import的功能是告诉编译器,你将使用java.util包中的Scanner类。
new是创建一个对象,程序中new的意思是创建了一个Scanner类的对象scan。但是在创建Scanner类的对象时,需要用System.in 作为它的参数,也可以将Scanner看作是System.in对象的支持者,System.in取得用户输入的内容后,交给Scanner来作一些处理。
Scanner类中提供了多个方法:
next():取得一个字符串; nextLine() 获取一行字符串;
nextInt():将取得的字符串转换成int类型的整数;
nextFloat():将取得的字符串转换成float型;
nextBoolean():将取得的字符串转换成boolean型;
用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键时,Scanner就会返回下一个输入.。所以用nextLine()方法;
Scanner类中next()与nextLine()方法的区别:next()与nextLine()区别很明确,next() 方法遇见第一个有效字符(不是空格和换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,也就是说使用next()方法获得的是不含空格和换行符的单个字符串。而使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。
当然还有其他方法获取字符串,看下面这个你熟悉不熟悉
2.利用 BufferedReader实现从键盘读入字符串并写进文件test.txt中
import java.io.*; public class Test { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader (new InputStreamReader(System.in)); BufferedWriter buff = new BufferedWriter(new FileWriter("test.txt")); String str = buf.readLine(); while(!str.equals("exit")) { buff.write(str); buff.newLine(); str = buf.readLine(); } buf.close(); buff.close(); } }

【用键盘输入一个数,字符,字符串,数组 (用Java)】其实在Java SE 1.4及以前的版本中,尚没有提供Scanner方法,我们获得输入时也是使用BufferReader的.
BufferedReader类位于java.io包中,所以要使用这个类,就要引入java.io这个包:import java.io.BufferedReader.
使用BufferedReader对象的readLine()方法必须处理java.io.IOException异常(Exception).
使用BufferedReader来取得输入,理解起来要复杂得多.但是使用这个方法是固定的,每次使用前先如法炮制就可以了.
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String text = buffer.readLine();
readLine()方法会返回用户在按下Enter键之前的所有字符输入,不包括最后按下的Enter返回字符.
获取字符串的方法
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class TestBufferedReader { public static void main(String[] args) throws IOException { BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一串字符串"); String test = buffer.readLine(); System.out.println("您输入的字符串是:" + test); } }

3.获取数组
第一种 (限制数组个数,可以自己设置字符串长度)用Scanner.next();
import java.util.Scanner; public class Test { public static void main(String args[]) { System.out.println("请输入五个数:"); Scanner in = new Scanner(System.in); int[] b=new int[5]; for(int i=0; i

就是每获取一个数,就用数组把它储存起来。
第二种 (不限制数组个数)用Scanner.nextLine();
import java.util.Scanner; public class Test { public static void main(String args[]){ System.out.println("请输入几个数,用空格分开"); Scanner scan = new Scanner(System.in); String str; str = scan.nextLine(); String[] arr= str.split(" "); int[] b = new int[arr.length]; for(int j = 0; j

通过字符串的形式,再转化成int[ ] 数组。获取一行,然后去掉空格,成了一个字符串,再把字符串分成若干个数。依次存入数组中。
其实这个用 BufferedReader 用可以实现,这里就不写出了。

    推荐阅读