黑马程序员技术交流社区

标题: 关于char数组转int的问题...求助..... [打印本页]

作者: 黄金龙    时间: 2013-1-26 14:33
标题: 关于char数组转int的问题...求助.....
本帖最后由 张向辉 于 2013-1-27 11:20 编辑
  1. import java.io.*;
  2. class  Demo09
  3. {
  4.         public static void main(String[] args) throws Throwable
  5.         {
  6.                 new tool().setNum("123456789");
  7.         }
  8. }


  9. class tool
  10. {        
  11.         public void setNum(String s) throws Throwable
  12.         {
  13.                 FileWriter numfile = new FileWriter("numfile.txt");
  14.                 numfile.write(s);
  15.                 numfile.close();
  16.                 getNum();
  17.         }

  18.         private void getNum()throws Throwable
  19.         {
  20.                 FileReader numread = new FileReader("numfile.txt");
  21.                 char[] num = new char[1024];
  22.                 int over = 0;
  23.                         
  24.                 while((over = numread.read(num))!=-1)
  25.                         System.out.println(new String(num,0,over));
  26.                
  27.                         
  28.         }
  29. }
复制代码
请求把num转为int.........我整了好久整不了.....


作者: vmvm555    时间: 2013-1-26 14:52
看代码要仔细啊
  1. import java.io.*;
  2. public class  TestTool
  3. {
  4.         public static void main(String[] args) throws Exception
  5.         {
  6.                 new Tool().setNum("123456789");
  7.         }
  8. }


  9. class Tool
  10. {        
  11.         public void setNum(String s) throws Exception
  12.         {
  13.                 FileWriter numfile = new FileWriter("numfile.txt");
  14.                 numfile.write(s);
  15.                 numfile.close();
  16.                 getNum();
  17.         }

  18.         private void getNum()throws Exception
  19.         {
  20.                 FileReader numread = new FileReader("numfile.txt");
  21.                 char[] num = new char[1024];
  22.                 int over = 0;
  23.                         
  24.                 while((over = numread.read(num))!=-1)
  25.                         System.out.println(new String(num,0,over));
  26.                
  27.                         
  28.         }
  29. }
复制代码
这不就出来了吗
作者: 黄金龙    时间: 2013-1-26 15:16
vmvm555 发表于 2013-1-26 14:52
看代码要仔细啊这不就出来了吗

出来什么 你知道这里的num是什么类型的吗????这里出来的是 char[]
我需要是转为int
作者: 黄锦成    时间: 2013-1-26 15:31
先把char数组变成String,然后调用Integer.valueOf方法将字符串变成int,要注意要转变的字符串表示的数字有没有超过int的范围
作者: 黄金龙    时间: 2013-1-26 15:38
黄锦成 发表于 2013-1-26 15:31
先把char数组变成String,然后调用Integer.valueOf方法将字符串变成int,要注意要转变的字符串表示的数字有 ...

我这么写还是不行
Integer.parseInt(new String(num,0,over));
老是报越界.....
作者: 黄锦成    时间: 2013-1-26 16:19
private void getNum() throws Throwable {
                FileReader numread = new FileReader("numfile.txt");
                char[] num = new char[1024];
                int over = 0;
                String str = null;
                while ((over = numread.read(num)) != -1) {
                        str = new String(num, 0, over);
                        System.out.println(str);
                }
                //转换成int
                int i = Integer.parseInt(str);
                System.out.println(i);
        }
作者: 冯佩    时间: 2013-1-26 16:34
把最后一行代码System.out.println(new String(num,0,over));改成   System.out.println(Integer.parseInt(new String(num,0,over)));我运行了没问题,得到的是int型,。再加个数字都可以运算的。






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