我有一個項目可以用一個單詞替換字母b和i。這個詞是「大」,它包含兩個字母。我必須用字母來代替它。 b與鰭和我與引導。如果我在陣列中替換它,我將被替換,所以我最終得到了「fbootnbootn」,因爲在fin中我被替換了。如何替換單詞中的多個值
或者我現在在代碼中的方式是將b替換爲新字符串,並將i替換爲另一個字符串。
import java.util.Scanner;
public class Crypto {
public String org;
public String sb;
public String encrypt(String org){
int index1=-1;
Scanner sc = new Scanner(org);
System.out.println ("here is org "+org);
String s1[] = new String[100];
while (sc.hasNext())
{
index1++;
s1[index1] = sc.nextLine();
System.out.println(s1[index1]);
}
for (int j=0; j <=index1; j++)
{
String NewString="";
System.out.println("array "+ s1[j]);
Scanner sc2= new Scanner (s1[j]);
while (sc2.hasNextLine())
{
String[] split =sc2.nextLine().split(" ");
int ding=0;
for (int k=0; k<(split.length); k++)
{
if (split[ding].contains("v"))
{
String nw=split[ding].replace ("v", "ag,r");
NewString = NewString +" "+ nw;
System.out.println(split[ding] + " " +NewString);
}
if (split[ding].contains("m"))
{
String nw=split[ding].replace ("m", "ssad");
NewString = NewString +" "+ nw;
System.out.println(split[ding] + " " +NewString);
}
if (split[ding].contains("g"))
{
String nw=split[ding].replace ("i", "boot");
NewString = NewString +" "+ nw;
System.out.println(split[ding] + " " +NewString);
}
if (split[ding].contains("b"))
{
String nw=split[ding].replace ("b", "fin");
NewString = NewString +" "+ nw;
System.out.println(split[ding] + " " +NewString);
}
ding++;
//NewString=NewString+" ";
org=NewString;
}
}
}
return org;
}
}
對於每個字,則步驟通過每個字母並測試它是否應該被更換,然後添加任一原信或替換爲'newString'(變量名應該以小寫字母開始將它們與類名稱區分開來)。 – iamnotmaynard