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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄金龙 中级黑马   /  2013-1-26 14:33  /  2384 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 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.........我整了好久整不了.....

6 个回复

倒序浏览
看代码要仔细啊
  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. }
复制代码
这不就出来了吗
回复 使用道具 举报
vmvm555 发表于 2013-1-26 14:52
看代码要仔细啊这不就出来了吗

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

我这么写还是不行
Integer.parseInt(new String(num,0,over));
老是报越界.....
回复 使用道具 举报
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:33
7#
把最后一行代码System.out.println(new String(num,0,over));改成   System.out.println(Integer.parseInt(new String(num,0,over)));我运行了没问题,得到的是int型,。再加个数字都可以运算的。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马