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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山西_李帅 中级黑马   /  2013-4-24 22:09  /  1533 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
* 该程序为一个试用程序, 只能运行10次.
* 每次启动时提示剩余次数, 如果执行了10次, 提示已到期.
*/
public class Demo4 {
        public static void main(String[] args) throws IOException {
                BufferedReader br = new BufferedReader(new FileReader("test.txt")); // 定义BufferedReader
                String line = br.readLine(); // 从文件中读取总的次数
                br.close();
                int times = Integer.parseInt(line); // 将line转换成int类型
                if (times > 0) {
                        System.out.println("欢迎使用XXX软件,您一共有10次免费使用机会,还剩下" + --times + "次!");
                        FileWriter fw = new FileWriter("test.txt"); // 定义FileWriter
                        fw.write(times + ""); // 通过定义FileWriter将剩余的次数重新写入test.txt文件中
                        fw.close();
                } else{
                        System.out.println("软件已到期!");
                }

        }
}





上面是我的代码.  程序功能都写清楚了,但是运行结果出错了,找了好久没找到是哪错了.
(报这样的错误)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at day0424_lianxi.Demo4.main(Demo4.java:17)

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

正序浏览
使用你的程序运行了一下,没有任何问题。可能是你的test文件中没有写入次数导致的。实在不行,把test.txt删除重新建立,重新开命令行窗口

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
wangyougu010 发表于 2013-4-24 22:19
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;

有呢啊.    路径也没问题.
回复 使用道具 举报
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
* 该程序为一个试用程序, 只能运行10次.
* 每次启动时提示剩余次数, 如果执行了10次, 提示已到期.
*/
public class Demo4 {
        public static void main(String[] args) throws IOException {
                BufferedReader br = new BufferedReader(new FileReader("times.txt")); // 定义BufferedReader
                String line = br.readLine(); // 从文件中读取总的次数
                br.close();
               
                int times = Integer.parseInt(line); // 将line转换成int类型
                if (times > 0) {
                        System.out.println("欢迎使用XXX软件,您一共有10次免费使用机会,还剩下" + --times + "次!");
                       
                        FileWriter fw = new FileWriter("times.txt"); // 定义FileWriter
                        fw.write(times + ""); // 通过定义FileWriter将剩余的次数重新写入test.txt文件中
                        fw.close();
                } else {
                        System.out.println("软件已到期!");
                }

        }
}
你的代码没啥问题,我试过了,完全可以,问题可能出在你的文件那,读出流关联的文件要存在,看下有这个文件没

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

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