【发布时间】:2013-10-13 19:10:36
【问题描述】:
顺便说一句,我是一个初学者程序员,所以我真的不知道该怎么做。这是我尝试过的,但它只是打印出输入而没有替换字母。
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.replace(convert[0][i], convert [1][i]);对input没有影响。但是,replace方法将返回一个带有更改的新字符串,如果您将此字符串分配给另一个字符串引用,甚至是input引用,您会看到您的更改。