博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java控制台输入
阅读量:5334 次
发布时间:2019-06-15

本文共 2137 字,大约阅读时间需要 7 分钟。

  在java控制台程序中的输入不像在C或其他语言那么的简单,因此很多java基础教程并没有介绍。然而它又是很重要的,尤其对于像我们这些由C或C++转java的同学,因此我想对Java的输入语句做一些探讨。当然,作为初学者的我这样做是班门弄斧,而我只是想起到抛砖引玉的
作用,希望大家一起讨论,并不惜赐教!
    首先,java.util.Scanner包中的Scanner(中文意思是扫描仪)类,这个类是一个final类继承于object类,从它的类名上就可以看出它有点类似于扫描仪,所以它只能扫描用户输入到屏幕上的信息,这是就需要一个System.in然后再扫描(我是这样认为的)。当然它扫描到的只是字符,但在需要时可以转换成其他类型,它提供了很多此类的方法:String next()、 BigDecimal nextBigDecimal() 、BigInteger nextBigInteger() 、BigInteger nextBigInteger(int radix) 、 boolean nextBoolean() 、byte nextByte() 、 byte nextByte(int radix) 、double nextDouble() 、float nextFloat() 、int nextInt() 、int nextInt(int radix) 、 String nextLine() 、long nextLong() 、long nextLong(int radix) 、short nextShort() 、short nextShort(int radix) 。这些方法都可以得到相应类型的数据。例

如:

import java.util.Scanner;
public class Importtext {
public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
      int i = sc.nextInt();
      System.out.println(i);
}
}
这个例子就可以得到一个整型的数据。 
     (关于Scanner的东西还有很多,我看的还不是很清楚只知道一些简单的,更复杂的东西,请高手指点!)
    再有就是这个BufferedReader类,这个类“从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取”(摘自Java帮助文档),因此它需要缓冲区。创建缓冲区的构造方法有两个:BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流。类似的它读的也是字符串,需要是进行处理,即将字符串转换成整型、浮点型等类型。我见过的类型转换有Integer.parseInt()这个函数,是静态类Integer的一个方法parse的意
思是解析,这样就很明白了。类似的我还见过Float.parseFloat(),举个例子吧:
import java.io.*; 
public class importtext {
public static void main(String[] args) {
   String st;
   int num;
   float fnum;
   try{ 
    System.out.print("输入:"); 
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
    st = br.readLine(); 
    System.out.print("输入一个数:");
    num = Integer.parseInt(br.readLine()); 
    System.out.print("输入一个浮点数:");
    fnum = Float.parseFloat(br.readLine());
    System.out.print("输出:"+st+'/n'); 
    System.out.print("输出:"+num+'/n');
    System.out.print("输出:"+fnum+'/n');
    }catch(IOException e){} 
}
}
    还有就是运行加参数这个方法,因为我没有用DOS界面输入命令的方法所以没有用,但是听比较牛的学长说过这个方法就查了一下,也比较新颖吧,拿出来说说,因为Java的主函数是带参数的(我也见过C++的主函数带参数,但是自己搞加参数是不行,不知道为什么,知道的可以指点一下!谢谢),args[]这个字符串数组,它是可以接收数据的。当你编写好程序后,编译成字节码文件后运行时加实参【java 文件名 参数(
字符串)】,这个就不举例子了。
     这是我学Java时一点小小的总结,肯定有很多的纰漏希望各位能不惜赐教,谢谢大家。

转载于:https://www.cnblogs.com/jackrex/archive/2013/03/21/3001296.html

你可能感兴趣的文章
判断两个字符串是否相等【JAVA】
查看>>
C# 使用 SmtpClient 发送邮件注意项
查看>>
C#多线程学习(五) 多线程的自动管理(定时器)
查看>>
Hadoop产生背景
查看>>
NOIP2011 观光公交 加强版
查看>>
Android WebView使用基础
查看>>
在一个非套接字上尝试了一个操作 解决方法
查看>>
Fastjson莫名的一个BUG
查看>>
各浏览器下载文件名不乱码的解决办法
查看>>
判断邮箱格式是否正确的代码
查看>>
13.安卓消息处理机制
查看>>
CentOS 6.4操作系统安装(基于Vmware)
查看>>
MySQL 触发器例子(两张表同步增加和删除)
查看>>
ado.net SqlHelper
查看>>
利用DataGrid显示某目录下的所有文件
查看>>
有史以来最出彩的编程语言名字
查看>>
二叉搜索树的建树与遍历
查看>>
Big-data:Linux基础(04)--快捷键
查看>>
什么场景应该用 MongoDB ?
查看>>
bootstrap
查看>>