如何将小写字母转换为大写字母和大写字母转换为小写字母

akk*_*996 9 java string lowercase uppercase

或者显示文本框中键入的任何文本

//     in either Capital or lowercase depending on the original
//     letter changed.  For example:  CoMpUtEr will convert to
//     cOmPuTeR and vice versa.
    Switch.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e )

            String characters = (SecondTextField.getText()); //String to read the user input
            int length = characters.length();  //change the string characters to length

         for(int i = 0; i < length; i++)  //to check the characters of string..
         {             
            char character = characters.charAt(i);          

            if(Character.isUpperCase(character)) 
            {
                SecondTextField.setText("" + characters.toLowerCase());

            }
            else  if(Character.isLowerCase(character))
            {
                 SecondTextField.setText("" + characters.toUpperCase()); //problem is here, how can i track the character which i already change above, means lowerCase**
                }               
         }}     
    });
Run Code Online (Sandbox Code Playgroud)

Mad*_*mer 16

setText 正在将文本内容更改为您提供的内容,而不是附加它.

String首先从字段转换,然后直接应用它...

String value = "This Is A Test";
StringBuilder sb = new StringBuilder(value);
for (int index = 0; index < sb.length(); index++) {
    char c = sb.charAt(index);
    if (Character.isLowerCase(c)) {
        sb.setCharAt(index, Character.toUpperCase(c));
    } else {
        sb.setCharAt(index, Character.toLowerCase(c));
    }
}

SecondTextField.setText(sb.toString());
Run Code Online (Sandbox Code Playgroud)

  • @LuiggiMendoza我在编辑问题的时候正在写作;) (2认同)

pax*_*blo 5

您无需跟踪是否已将字符从上部更改为下部.你的代码已经在做了,因为它基本上是:

1   for each character x:
2       if x is uppercase:
3           convert x to lowercase
4       else:
5           if x is lowercase:
6                convert x to uppercase.
Run Code Online (Sandbox Code Playgroud)

else在那里(在第4行)拥有它的事实意味着永远不会在第二个if语句中检查最初为大写的字符(在第5行).

例如,从A.开始.因为它是大写的,它将在第3行转换为小写,然后你将返回第1行以获得下一个字符.

如果你开始z,第if2行将直接发送到第5行,它将转换为大写.任何既不是大写也不小写的东西都会使两个 if陈述失败,因此保持不变.