| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:推回问题
取消只看楼主 加入收藏
dary
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2009-11-22
结帖率:0
收藏
已结贴  问题点数:0 回复次数:3 
推回问题
下面这个程序中红色的 dd=5 到了 bb.write(a[dd+2])  那a[dd+2]不就是a[7]了吗 为什么不是超出范围 而是运行正常呢?
还有这个 aa.unread(cc);
         bb.write(a[dd]);   我就更不知道它是怎么个推回方法   哪位朋友能给我讲讲 谢谢了 最好举个列子 谢谢

import *;
public class PushBack {
    public static void main(String[]args) {
        char [] a ={'<','>','x','d','b','='};
        try {
            PushbackReader aa =new PushbackReader(new FileReader(args[0]));
            FileWriter bb =new FileWriter("__"+args[0]);
            int cc =0;
            while((cc=aa.read())!=-1) {
                int dd =-1;
                switch(cc) {
                    case '<' :
                        dd=0;
                        break;
                    case '>' :
                        dd=1;
                        break;
                    case '!' :
                        dd=2;
                        break;
                    case '=' :
                        dd=5;
                        break;
                    default :
                        bb.write(cc);
                }
                if(dd!=-1) {
                    if((cc=aa.read())=='=') {
                        bb.write(a[dd+2]);
                        bb.write(' ');
                    }
                    else {
                        aa.unread(cc);
                        bb.write(a[dd]);
                    }
                }
            }
            aa.close();
            bb.close();
        }
        catch(ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
        }
        catch(IOException e) {
            e.printStackTrace();
        }
    }
}
         
   
搜索更多相关主题的帖子: 推回 
2009-11-24 16:31
dary
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2009-11-22
收藏
得分:0 
我是想让
1 + x >= 4
x + y <= 3
y + z != w
x + y > 3
x - y < 5
x - 1 = 6
变成
1 + x d  4
x + y x  3
y + z b  w
x + y > 3
x - y < 5
x - 1 = 6    这样

这个程序是对的  可我看了几天还是弄不懂怎么执行的。。
偶是新手  哪位不嫌麻烦给偶讲讲吧
2009-11-24 16:34
dary
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2009-11-22
收藏
得分:0 
aa.unread(cc);
bb.write(a[dd]);

这句是怎么实现的呢?  
<= 是怎么变成 x 的呢?
2009-11-25 16:30
dary
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2009-11-22
收藏
得分:0 
谢谢 我调式了下  aa.unread(cc);
                 bb.write(a[dd]);
红色这句可以删掉
出来结果一样 是不是说unread 退回后 红色这句其实没运行?
还是它有其他什么作用呢?
2009-11-25 18:46
快速回复:推回问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026189 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved