Topic: 如何将用户输入的数字,转换为int型。 |
Print this page |
1.如何将用户输入的数字,转换为int型。 | Copy to clipboard |
Posted by: laies Posted on: 2006-04-10 22:47 int ug=System.in.read(); System.out.println(ug); 用户输入1 输出结果是49 它输出的ACSII码, 问题一:怎么转换让他们输出与用户一致的,也就是1。 |
2.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: zcjl Posted on: 2006-04-11 00:12 使用 System.out.println((char)ug); |
3.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: laies Posted on: 2006-04-11 08:45 如果在过程中判断, Random rand = new Random(); int r=rand.nextInt(); if(ug==r) 强制类型的转换好像不可取 iug = Integer.parseInt(ug); 除了使用parseInt方法以外,还有其它办法吗? 好像Integer.valueOf();也可以 |
4.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: zcjl Posted on: 2006-04-11 09:18 int i = Character.getNumericValue((char)ug); |
5.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: tuutoo Posted on: 2006-04-12 10:38 Integer.parseInt(); |
6.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: steven_652 Posted on: 2006-04-13 12:17 int Interger.parseInt(String ) |
7.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: laies Posted on: 2006-04-13 12:59 问题一: System.in.read是什么类型的?好像在两个类型中徘徊。 使用Integer.valueOf();是可以的 使用Interger.parseInt();却不可以了。 说明System.in.read是int的。 问题二:是int为什么不可以直接转换那? 问题三:为什么使用字符流,就可以使用Interger.parseInt()了那? BufferedReader reader = new BufferedReer(new InputStreamReader(System.in); int ii = Integer.parseInt(reader.readLine()); |
8.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: Skybus Posted on: 2006-04-13 15:38 首先System.in.read()返回的是int类型,而你从终端上输入的“数字”在机器看来只是一堆0101的编码,它并不知道那是"数字",它把你输入的字符转化为int类型的对应的数值而已。另外, Integer.valueOf(String s);//返回一个Integer类型的对象 两个方法需要的参数都是一个String类型对象,并不存在“字符流“就可以使用Interger.parseInt()的问题,实际上reader.readLine()已经把输入流转化为一个String类型了。 参看: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html |
9.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: 我所爱 Posted on: 2006-04-14 14:22 我也遇到过类似问题,看这段代码,满意不 : int a=input(); static int input ()throws IOException { int x; InputStreamReader ir=new InputStreamReader(System.in); BufferedReader in=new BufferedReader(ir); String s=in.readLine(); x=Integer.parseInt(s); return x; } System.out.printlna(a); |
10.Re:如何将用户输入的数字,转换为int型。 [Re: laies] | Copy to clipboard |
Posted by: guaqingqing1314 Posted on: 2006-06-07 17:41 呵呵,我觉得最简便的方法就是输出的时候减去0的ACSII码48,刚好就可以输出1了,解决问题不能太死板! |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |