如何操作给定索引中的字符串?JAVA
您好,所以我尝试用相应的罗马数字替换字符串中的数字,该方法应该只处理给定startPos和endPos之间的字符串 例如,如果字符串为: “H3ll0,wh4t 15 ar3您所做的一切”和startPos=1,endPos=14 它应该打印出来:“HIIIll0,您在做什么?” 以下是我的方法:如何操作给定索引中的字符串?JAVA,java,Java,您好,所以我尝试用相应的罗马数字替换字符串中的数字,该方法应该只处理给定startPos和endPos之间的字符串 例如,如果字符串为: “H3ll0,wh4t 15 ar3您所做的一切”和startPos=1,endPos=14 它应该打印出来:“HIIIll0,您在做什么?” 以下是我的方法: public void convertToRoman(int startPos, int endPos){ for (int i = startPos-1; i < endPo
public void convertToRoman(int startPos, int endPos){
for (int i = startPos-1; i < endPos; i++) {
if (romanNum.contains("1")) {
romanNum = romanNum.replace("1", "I");
}
if (romanNum.contains("2")) {
romanNum = romanNum.replace("2", "II");
}
if (romanNum.contains("3")) {
romanNum = romanNum.replace("3", "III");
}
if (romanNum.contains("4")) {
romanNum = romanNum.replace("4", "IV");
}
if (romanNum.contains("5")) {
romanNum = romanNum.replace("5", "V");
}
if (romanNum.contains("6")) {
romanNum = romanNum.replace("6", "VI");
}
if (romanNum.contains("7")) {
romanNum = romanNum.replace("7", "VII");
}
if (romanNum.contains("8")) {
romanNum = romanNum.replace("8", "VIII");
}
if (romanNum.contains("9")) {
romanNum = romanNum.replace("9", "IX");
}
}
System.out.print(romanNum);
}
publicsvoidconvertoroman(intstartpos,intendpos){
对于(int i=startPos-1;i
***顺便说一句,现在不管给定的索引是什么,它都在操作整个字符串。下一种方法很好
char[]chars=romanum.tocharray();
字符串s=“”;
对于(int i=startPos-1;i
你可以在那里做
String a = "H3ll0, wh4t 15 ar3 you do1n9";
int startPos = 1;
int endPos = 14;
String beginSubstring = a.substring(0,startPos);
String substring = a.substring(startPos, endPos);
String lastSubstring = a.substring(endPos);
String resultOperation =operation(substring);
String result = beginSubstring+resultOperation+lastSubstring;
String.replace
替换找到的匹配项的第一个实例,它没有任何用于替换的索引边界。相反,您应该循环遍历字符串中的各个字符,如果它们与替换匹配,则一次替换一个字符
Map replacements=newhashmap();
替换。放置('1','I');
替换。将('2','II');
替换。将('3','III');
//等
StringBuilder sb=新的StringBuilder(romanum.length());
如果(startPos>0){
sb.append(romanNum,0,startPos);
}
for(int i=startPos;i但是'II'不是char though..我修复了它。这也不会返回整个字符串