A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 三眼皮 中级黑马   /  2014-3-4 10:13  /  1180 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中都有什么方法获得从键盘输入的值。。请赐教

8 个回复

倒序浏览
可以导入Scanner,来接受键盘输入的值。
import java.util.Scanner;
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = input.nextInt();
System.out.println("接收的整数:" + num);

评分

参与人数 1黑马币 +5 收起 理由
何伟超 + 5

查看全部评分

回复 使用道具 举报
本帖最后由 上官睿鹏 于 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. }
复制代码



回复 使用道具 举报
从键盘输入数据有我知道的有两种一种的控制台输入,就是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]);
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
方法一:从控制台接收一个字符,然后将其打印出来

  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);

  }

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1 很给力!

查看全部评分

回复 使用道具 举报
可以采用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);
        }
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
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);

}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
最好最快最简单的方法就是导入java.util.scanner,具体可以这么操作Scanner num = new Scanner(System.in);     String str = num.next();这样就可以让程序读取键盘上述如夫人数据。

评分

参与人数 1黑马币 +5 收起 理由
何伟超 + 5

查看全部评分

回复 使用道具 举报
chenfc8578 发表于 2014-3-4 12:17
System.out.println("输入一个数:");
BufferedReader br = new BufferedReader(new InputStreamReader(Sys ...

赞,刚看视频到这
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马