所以我从一个需要我替换的编码网站解决了一个问题?如果没有连续两个a ...或者b,我已经尝试了很多,这是我写的代码。虽然代码似乎对我的知识是正确的,但每当我运行此代码时,输出与输入本身相同。没有改变它。
示例案例: 输入:?ababa?b? 输出:babababba
输入:ababb?b 的输出:ababbab
输入必须是a,b或? 输出必须使其在字典中具有最高优先级。
然而无论我给出什么输入我得到相同的输出。如果我将?ab作为输入,我会得到与输出相同的信息,请帮助我
package Beginner;
import java.util.Scanner;
public class ExplRuin {
public static void main(String args[]){
String s;
Scanner in = new Scanner(System.in);
s = in.nextLine();
if(s.length()==1){
if(s.equals("?"))
s.replace("?", "a");
} else
{
if(s.toString().startsWith("?")){
if(s.contains("?b"))
s.replace("?b","ab");
else
if(s.contains("?a"))
- s.replace("?a", "ba");
}
if(s.endsWith("?")){
if(s.contains("a?"))
s.replace("a?", "ab");
else
if(s.contains("b?"))
s.replace("b?","ba");
}
if(s.contains("?a")||s.contains("a?")){
s.replace("?", "a");
}
else{
s.replace("?", "a");
}
}
System.out.print(s);
}
}
答案 0 :(得分:2)
您必须将结果分配给变量,因为java中的String是不可变的:
s = s.replace("?", "a");
^^^---------------------------assign the result to your variable