0

ちなみに私は初心者プログラマーなので、どうすればいいのかよくわかりません。これは私が試したものですが、文字を置き換えずに入力を出力するだけです。

  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);

     }
   }
4

3 に答える 3

1

試す:

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

Java では文字列は不変replace(変更不可) です。メソッドは呼び出した変数には影響しませんが、変更が加えられた新しい文字列を返します。

于 2013-10-13T19:14:54.753 に答える
0

このString.replace()関数は、呼び出された文字列に影響を与えることなく、新しい文字列を返すだけです。に変更input.replace(convert[0][i], convert [1][i]);input = input.replace(convert[0][i], convert [1][i]);ます。

于 2013-10-13T19:14:44.547 に答える
0

あなたは正確に何をしているのか誤解していますinput.replace! . 新しい文字列を作成し、それを新しい文字列に置き換えてから、新しい文字列を char に置き換えて RETURN します。

これはあなたがする必要があることです:

input = input.replace(convert[0][i], convert [1][i]);
于 2013-10-13T19:15:27.093 に答える