关于replaceFirst的问题

互联网人踏国企 2014-08-10 10:10:06
这段程序看了好久,小白拜托各位大神指出错误

其实就是字符串替换,刚开始第一行输入要被替换字符串的个数n,接下来n行分别输入被替换的字符串和替换字符串,最后一行输入母串
//百度翻译机
import java.util.*;
import java.io.*;

class Baidu {
public static void main(String[] args) {
Init tt = new Init();
int min;//用于记录所有匹配中下标值最小的位置
boolean flag = true;
String str = tt.sequence;

while(flag) {
//System.out.println("Begin : " + str);
flag = false;
min = tt.len + 1;
int temp;
int j = 0;
for(int i = 0;i<tt.len;i ++) {
temp = str.indexOf(tt.data[i][0]);
if(temp < min && temp != -1) {
flag = true;
j = i;
min = temp;
}
}
if(flag) {
str = tt.sequence.replaceFirst(tt.data[j][0],tt.data[j][1]);
System.out.println(str);
}
}

}
}

class Init {
int len;
String[][] data;
String sequence;

Init() {
Scanner in = new Scanner(System.in);
try {
len = Integer.parseInt(in.nextLine());
data = new String[len][2];
//System.out.println(len);
}catch(NumberFormatException e) {
System.out.println("Please input a number!");
}

try{
for (int i = 0;i<len;i ++) {
String ss = in.nextLine();
String[] con = ss.split(" ");
data[i][0] = con[0];
data[i][1] = con[1];
}
}catch(ArrayIndexOutOfBoundsException e) {
System.out.println("You must input Couple-String!");
}

sequence = in.nextLine();
//System.out.println(sequence);
}
}
...全文
209 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
静山晚风 2014-08-11
  • 打赏
  • 举报
回复
debug调试吧,看着头晕
tony4geek 2014-08-11
  • 打赏
  • 举报
回复
这个调试看看吧。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧