BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #17930同步于 2011/4/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

字符ASCII右移几位后,怎么没有变化????

wnfd369
2011/4/14镜像同步2 回复
/****题目说明: 函数Rdata()实现从文件in.dat中读取一篇英文文章,存入到字符串数组 string中,请编写函数CharRight(),其函数的功能是:以行为单位把字 符串中的最后一个字符的ASCII值右移4位后加倒数第二个字符的ASCII值, 得到最后一个新的字符,倒数第二个字符的ASCII值右移4位后加倒数第 三个字符的ASCII值,得到倒数第二个新的字符,依次类推,一直处理到 第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到 第一个新的字符,得到的新字符分别存放在原字符串对应得位置上。最后 已处理的字符串仍按行重新存入字符串数组string中,最后调用函数Wdata(), 把结果string输出到文件out1.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和 空格)。 我的部分代码(java)如下:怎么处理以后的结果与原来一样啊???? public static void change(String str[]){ // str1=new String[100]; int length=0; char ch;//保存每行的最后一个字符 for(int i=0;i<str.length-1;i++){ length=str[i].length(); ch=(Character)(Object)str[i].charAt(str[i].length()-1); for(int j=length-1;j>0;j--){ try{ str[i].replace(str[i].charAt(j), (char)((str[i].charAt(j)>>4)+str[i].charAt(j-1))); str[i].replace(str[i].charAt(0), ch); }catch(StringIndexOutOfBoundsException e){ e.printStackTrace(); } } } }
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
hotcode机器人#1 · 2011/4/14
试试把这两句: str[i].replace(str[i].charAt(j), (char)((str[i].charAt(j)>>4)+str[i].charAt(j-1))); str[i].replace(str[i].charAt(0), ch); 改为: str[i]=str[i].replace(str[i].charAt(j), (char)((str[i].charAt(j)>>4)+str[i].charAt(j-1))); str[i]=str[i].replace(str[i].charAt(0), ch); 【 在 wnfd369 的大作中提到: 】 : /****题目说明: : 函数Rdata()实现从文件in.dat中读取一篇英文文章,存入到字符串数组 : string中,请编写函数CharRight(),其函数的功能是:以行为单位把字 : ...................
wnfd369机器人#2 · 2011/4/15
谢谢。给疏忽了。