如何将生成的 2 位随机数转换为字母

how to convert generated 2 digit random number to alphabets

package com.nusecond.Code;
import java.util.*;
public class Code1 {
    public static void main(String args[]){
         HashMap<Integer, Character> hmap = new HashMap<Integer, Character>();
         hmap.put(0, 'D');
         hmap.put(1, 'G');
         hmap.put(2, 'B');
         hmap.put(3, 'Q');
         hmap.put(4, 'P');
         hmap.put(5, 'M');
         hmap.put(6, 'R');
         hmap.put(7, 'Y');
         hmap.put(8, 'Z');
         hmap.put(9, 'I');

Iterator<Integer> keySetIterator = hmap.keySet().iterator();
while(keySetIterator.hasNext()){
int key=keySetIterator.next();


System.out.println("key:" + key +  " value: "  +hmap.get(key));

}   
for(int j=1001;j<9999;j++);
Random random=new Random();
int res=random.nextInt(100);
System.out.println(res);
    }
    }

输出:

key:0 value: D
key:1 value: G
key:2 value: B
key:3 value: Q
key:4 value: P
key:5 value: M
key:6 value: R
key:7 value: Y
key:8 value: Z
key:9 value: I
12

我在这里尝试将生成的 2 位随机数转换为字母 例如在上面代替 12 我想要 GB ....... 像那样.... 任何帮助.....提前致谢.... 我有一个截止日期来完成这个.... 所以请帮助我......

我不确定,我很清楚你的想法。但是试试这个:

String s = "";
s = String.valueOf(res);
System.out.println(hmap.get(Integer.valueOf(String.valueOf(s.charAt(0)))) + "" + hmap.get(Integer.valueOf(String.valueOf(s.charAt(1)))));

如果res为12,结果GB等 之前声明 s 并将我的代码的第二行和第三行放在你的 for

您可以使用 i % 10 获取个位,使用 i / 10 获取小数位,例如:

int i = 12;
System.out.println(i / 10); // would be 1
System.out.println(i % 10); // would be 2

然后用它来提供你的 hashmap。

试试这个

    Random random = new Random();
    IntStream.generate(() -> random.nextInt(100))
        .limit(1000)
        .mapToObj(i -> "" + hmap.get(i / 10) + hmap.get(i % 10))
        .forEach(System.out::println);

请使用下面的代码,

HashMap<Integer, Character> hmap = new HashMap<Integer, Character>();
hmap.put(0, 'D');
hmap.put(1, 'G');
hmap.put(2, 'B');
hmap.put(3, 'Q');
hmap.put(4, 'P');
hmap.put(5, 'M');
hmap.put(6, 'R');
hmap.put(7, 'Y');
hmap.put(8, 'Z');
hmap.put(9, 'I');

Iterator<Integer> keySetIterator = hmap.keySet().iterator();
while(keySetIterator.hasNext()){
int key=keySetIterator.next();


System.out.println("key:" + key +  " value: "  +hmap.get(key));

}
for(int j=1001;j<9999;j++);
Random random=new Random();
int res=random.nextInt(100);
System.out.println(res);
String s = "";
s = String.valueOf(res);
String result="";

for(int i=0;i<s.length();i++)
{
    result+=hmap.get(Integer.valueOf(String.valueOf(s.charAt(i))));
}

System.out.println(result);
        }

试试这个程序,因为它给出了上述的输出。希望这对您有所帮助。

    int [] digit_face;  
        int digits=0;          
         HashMap<Integer, Character> hmap = new HashMap<Integer, Character>();
         hmap.put(0, 'D');
         hmap.put(1, 'G');
         hmap.put(2, 'B');
         hmap.put(3, 'Q');
         hmap.put(4, 'P');
         hmap.put(5, 'M');
         hmap.put(6, 'R');
         hmap.put(7, 'Y');
         hmap.put(8, 'Z');
         hmap.put(9, 'I');


for(int j=1001;j<9999;j++);
Random random=new Random();
int res=random.nextInt(100);

for(int i=res;i>0;i=(i/10)){
    digits++;
}

digit_face=new int[digits];

digits=0;

for(int i=res;i>0;i=(i/10)){
    digit_face[digits]=i%10;
    digits++;
}

for(int i=(digits-1);i>=0;i--){
    System.out.print(hmap.get(digit_face[i]));
}