我有一个 int array (b[])
具有随机长度和随机整数。我想让小于9的整数保持原样,我想改变数字 9-35
写信 A-Z
. 我想把 ()
所有数字都高于 35
. 所以呢 b[] = {1,10,36}
会产生 String 1A(36)
. 我的尝试:
int b[] = {99, 2, 3, 4, 5, 10, 35, 24}; //sample input
char[] hilfsarray = new char[b.length];
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVW".toCharArray();
for (int k = 0; k < hilfsarray.length; k++) //overwrite all positons with *
hilfsarray[k] = '*';
for (int i = 0; i < b.length; i++) {
int p = b[0] - 10;
if (b[i] < 9 && b[i] <= 35) {
hilfsarray[i] = alphabet[p];
}
return Arrays.toString(hilfsarray);
}
2条答案
按热度按时间rseugnpd1#
我想这个代码可以胜任你的工作。它使用java-8、streamapi:
样本输出:
9njqaruj2#
你可以解释范围内的数字
10-35
作为字符并按55
获取大写字母的代码点65-90
:另请参见:替换字符串中的非ascii字符