在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 文件名 参数(字符串)】 这个就不举例子了
lishixinzhi/Article/program/Java/hx/201311/27166
以下是C++代码,实现从控制台随机输入三个整数,按降序排列输出,并且在输入时捕获可能抛出的异常。
cppCopy code#include <iostream>#include <stdexcept>// 异常头文件#include <algorithm>// STL头文件using namespace stdint main() { int a, b, c try { // 尝试执行输入 *** 作
cout <<"请输入三个整数,用空格隔开:" <<endl
cin >>a >>b >>c if (cin.fail()) { // 如果输入失败,抛出异常
throw runtime_error("输入的不是整数")
}
} catch (runtime_error e) { // 捕获异常并输出错误信息
cerr <<"错误:" <<e.what() <<endl return -1// 返回错误代码
} int arr[3] = {a, b, c} sort(arr, arr + 3, greater<int>())// 使用STL的sort函数进行降序排序
cout <<"排序后的结果为:" <<arr[0] <<" " <<arr[1] <<" " <<arr[2] <<endl return 0// 返回正常退出代码}
解释:
try 块尝试执行输入 *** 作,如果输入失败,则抛出 runtime_error 类型的异常。
catch 块捕获 runtime_error 类型的异常,并输出错误信息。
sort(arr, arr + 3, greater<int>()) 对数组进行降序排序。
cerr 是标准错误流,用于输出错误信息。
what() 方法返回异常对象的错误信息。
System.IO。控制台应用程序使用System.IO命令空间中的类处理输入和输出,也就是说,控制台应用程序使用统一的重定向文本输出形式,也就是从控制台(键盘)获取用户输入的信息,在运算后向控制台(屏幕)输出信息。这类应用程序适合于交互性 *** 作较少、主要偏重内部功能实现的场合。
控制台可以指:控制室内的专业家具;控制面板,Windows图形用户界面的一部分;命令行界面(CLI),也有人称之为字符用户界面(CUI)等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)