如何更改扫描程序输入的字符串中的字符

时间:2015-03-24 05:31:22

标签: java arrays string char

因此,如果用户输入“ABCD”,我将如何更改此字符串中的单个字符?

示例:用户输入“ABCD”。我希望它输出'T','B','G','D'。所以将A改为T,将C改为G.

我尝试使用替换方法,但发现这很乏味(并没有真正起作用)。 我想尝试使用循环,检查用户输入的每个字母并将其更改为其他字母。将A改为T,T改为A,C改为G,G改为C.

public class test {

public static void main(String args[]){

Scanner input = new Scanner(System.in);
userInput = input.nextLine();

char arrayInput[] = toCharArray();
for(int i = 0; i > arrayInput.length; i++) {

switch(arrayInput[i]){

case 'a'
case 'A': change to 'T';
break;

case 't'
case 'T': change to 'A'

etc..

}}}}
像这样的东西^^。这可能是完全错误的。但真的需要帮助!在互联网上找不到任何其他帮助。提前谢谢

4 个答案:

答案 0 :(得分:0)

将输出附加到StringBuilder

StringBuilder ouput=new StringBuilder();
for(int i = 0; i > arrayInput.length; i++) {
 switch(arrayInput[i]){
  case 'a':
  case 'A': 
    output.append('T');
    break;
   // so on.
  }
}

答案 1 :(得分:0)

字符串是不可变的,因此您将replace的输出保存在另一个字符串

    String old ="ABCD";
    String newString = old.replace('A', 'T').replace('C', 'G');
    System.out.println(newString);

答案 2 :(得分:0)

您可以使用for循环遍历字符串,如下所示 -

String s="ABCD";
for(int i=0;i<s.length;i++)
{ if(s.charAt(i)=="A") s.charAt(i)="T"; if(s.charAt(i)=="C") s.charAt(i)="G"; }

使用charAt()检测字符并替换它们

答案 3 :(得分:0)

WOW!回顾我几天的JAVA!这个简单的问题现在哈哈。