java - 为什么我输入的某些部分没有被相应的字符替换?

标签 java replace char

顺便说一句,我是一名初学者程序员,所以我真的不知道该怎么做。这是我尝试过的,但它只是打印出输入,而没有替换字母。

  import java.util.Scanner;

  class converter {
  public static void main (String [] args){
  char[][] convert = new char [2][10];
  convert [0][0] = 'I' ;
  convert [0][1] = 'Z' ;
  convert [0][2] = 'E' ;
  convert [0][3] = 'A' ;
  convert [0][4] = 'S' ;
  convert [0][5] = 'G' ;
  convert [0][6] = 'L' ;
  convert [0][7] = 'B' ;
  convert [0][8] = 'P' ;
  convert [0][9] = 'O' ;
  convert [1][0] = '1' ;
  convert [1][1] = '2' ;
  convert [1][2] = '3' ;
  convert [1][3] = '4' ;
  convert [1][4] = '5' ;
  convert [1][5] = '6' ;
  convert [1][6] = '7' ;
  convert [1][7] = '8' ;
  convert [1][8] = '9' ;
  convert [1][9] = '0' ;

     Scanner sc = new Scanner(System.in);

     String input = sc.nextLine();
     for (int i = 0; i< 10; i++)
        input.replace(convert[0][i], convert [1][i]);
     System.out.print(input);

     }
   }

最佳答案

尝试:

input = input.replace(convert[0][i], convert [1][i]);

字符串是 immutable (无法修改)在 Java 中,replace 方法不会影响您调用它的变量,但会返回一个包含所做更改的新字符串。

关于java - 为什么我输入的某些部分没有被相应的字符替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349132/

相关文章:

java - 将数据类型字符串中的数字转换为 char

c++ - 在 C++ 中处理字符(没有 std::string)

java - swing 中单选按钮上的 MouseListener

java - 尝试使用 Double 与 double 计算用户输入

java - LinkedHashMap removeEldestEntry : How many elements are removed?

java - 如何以一个不会最终替换另一个字符串的方式替换两个字符串?

java - 如何在 Android Studio 中单击按钮时显示随机 Activity

Vim:用n + 1替换n

C# 字符串数组替换最后一个元素

c++ - 如何在没有外部库的情况下使用 C++03 约束执行基于正则表达式的字符串操作?