在java中更改字符串中的字符

我正在尝试编写代码更改我输入的字符串中的字符。这是我在更改字符时必须遵循的映射。


String letters = "abcdefghijklmnopqrstuvwxyz";  

String enc = "kngcadsxbvfhjtiumylzqropwe";

通过在 stackoverflow 中搜索,我发现无法更改字符串,因此我需要使用转换后的字符创建一个新字符串。我的问题是我不知道该怎么做。到目前为止,我已经能够访问字符串中的每个字符并打印它们。我知道解决这个问题的方法是访问每个字符,更改它们然后将它们添加到新字符串中,这是我不知道该怎么做或查找的方法。


public static void main(String[] args) 

{

int cdcode;


//String letters = "abcdefghijklmnopqrstuvwxyz"; 

//String enc =     "kngcadsxbvfhjtiumylzqropwe";

String myString;

char ch;

int strLen;

int chrPos;

   do

   {


    System.out.println("Enter 1 to encode, 2 to decode, 3 to quit:");


    Scanner myCode = new Scanner(System.in);

    Scanner myText = new Scanner(System.in);


    cdcode = myCode.nextInt();



    switch(cdcode)

    {

        case 1: 

            System.out.println("Enter the text to encode: ");

            myString = myText.nextLine();

            strLen = myString.length();

            System.out.println("String Length is: " +myString.length());


            for(chrPos = 0; chrPos < strLen ;chrPos++)

            {

                System.out.println("The Letters are: " +myString.charAt(chrPos));

                if(myString.charAt(chrPos)== 'S')

                {

                System.out.println("It is an S");

                }

            }

            break;



        case 2:

        System.out.println("Enter the text to decode: ");

        myString = myText.nextLine();

        break;


    }


   }while(cdcode != 3);

}


蝴蝶不菲
浏览 396回答 3
3回答

慕少森

使用 StringBuilder(可变)。用法:StringBuilder&nbsp;myString&nbsp;=&nbsp;new&nbsp;StringBuilder(someString);除非对象可以被多个线程修改,否则推荐使用 StringBuilder。如果对象可以被多个线程修改,则使用 StringBuffer(也是可变的)。

HUWWW

如果要更改字符串中的特定字符,请使用replaceAll()函数。String ss = letters.replaceAll("a","x");如果要手动检查字符串中的所有字符,则遍历字符串if中的每个字符,对每个字符执行条件,如果需要更改,则附加新字符,否则使用StringBuilder.StringBuilder br = new StringBuilder();for (int i = 0; i < letters.length(); i++) {&nbsp; &nbsp; if (letters.charAt(i) == 'a')&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; br.append("s");&nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; br.append(letters.charAt(i));&nbsp; &nbsp; }System.out.println(br.toString());

沧海一幻觉

您可以使用+运算符(或+=)将字符添加到新字符串。这是一个例子&nbsp; &nbsp; String str1 = "abcdef";&nbsp; &nbsp; String str2 = "";&nbsp; &nbsp; for (int i = 0; i < str1.length(); i++)&nbsp; &nbsp; &nbsp; &nbsp; str2 += String.valueOf(str1.charAt(i)).toUpperCase();&nbsp; &nbsp; System.out.println(str1 + " ==> " + str2);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java