黑马程序员技术交流社区

标题: java获取输入的值 [打印本页]

作者: 三眼皮    时间: 2014-3-4 10:13
标题: java获取输入的值
Java中都有什么方法获得从键盘输入的值。。请赐教
作者: Sage    时间: 2014-3-4 10:34
可以导入Scanner,来接受键盘输入的值。
import java.util.Scanner;
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = input.nextInt();
System.out.println("接收的整数:" + num);
作者: 上官睿鹏    时间: 2014-3-4 10:41
本帖最后由 上官睿鹏 于 2014-3-4 10:51 编辑

键盘输入用System.in获取输入流
然后用Scanner对象来获取字符串,分两步:Scanner sc = new Scanner(System.in);     String str = sc.next();
示例:
  1. import java.util.Scanner;
  2. public class Demo {
  3.         public static void main(String[] args) {
  4.                 Scanner sc = new Scanner(System.in);
  5.                 System.out.println("请输入:");
  6.                 String str = sc.next();        //得到从键盘输入的字符串
  7.                 System.out.println(str);    //打印出此前键盘输入的字符串
  8.        }
  9. }
复制代码




作者: 絮缘小默    时间: 2014-3-4 10:47
从键盘输入数据有我知道的有两种一种的控制台输入,就是Scanner类;然后还有一个在IO流中学过的标准数据流,就是System类。Scanner类我就不多说了,楼上有例子然后我给你一个System类的例子:
import java.io.IOException;

public class Test{
        public static void main(String[] args)throws IOException{
                System.out.println("请输入一个字符串:");
                byte []b = new byte[512];
                int count = System.in.read(b);
                System.out.println("你输入的字符串是:");
                for(int i=0;i<count;i++){
                        System.out.print((char)b[i]);
                }
        }
}
作者: 晴天_雨天    时间: 2014-3-4 11:34
方法一:从控制台接收一个字符,然后将其打印出来

  public static void main(String [] args) throws IOException{

  System.out.print(“Enter a Char:”);

  char i = (char) System.in.read();

  System.out.println(“your char is :”+i);

  }

  }

  虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

  方法二:从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到BufferedReader类和InputStreamReader类

  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类

  public static void main(String [] args) {

  Scanner sc = new Scanner(System.in);

  System.out.println(“请输入你的姓名:”);

  String name = sc.nextLine();

  System.out.println(“请输入你的年龄:”);

  int age = sc.nextInt();

  System.out.println(“请输入你的工资:”);

  float salary = sc.nextFloat();

  System.out.println(“你的信息如下:”);

  System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);

  }
作者: 杯之水    时间: 2014-3-4 11:53
可以采用java中的字节输入流,运用抽象类InputStream来实现,跟楼上原理一样,因为System.in就是一个InputStream流。
实现代码如下:
import java.io.*;
class  Input
{
        Input(InputStream in) throws Exception  //接受字节输入流
        {
                int b;
                while((b=in.read())!=-1)               //开始循环读
                {
                        System.out.print((char)b);     //显示
                }
                in.close();
        }
        public static void main(String[] args) throws Exception
        {
                new Input(System.in);
        }
}
作者: chenfc8578    时间: 2014-3-4 12:17
System.out.println("输入一个数:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//使用字符缓冲流提高读取效率,需要InputStreamReader转换流,将System.in的字节流转换为Reader字符流
String line = null;
while((line = br.readLine())!=null)
{
   System.out.println(line);

}
作者: victorsun    时间: 2014-3-4 13:09
最好最快最简单的方法就是导入java.util.scanner,具体可以这么操作Scanner num = new Scanner(System.in);     String str = num.next();这样就可以让程序读取键盘上述如夫人数据。
作者: 老貓钓鱼    时间: 2014-3-4 15:52
chenfc8578 发表于 2014-3-4 12:17
System.out.println("输入一个数:");
BufferedReader br = new BufferedReader(new InputStreamReader(Sys ...

赞,刚看视频到这




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2