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 ....... 像那样.... 任何帮助.....提前感谢.... 我有一个截止日期来完成这个.... 所以plzz帮助我.......
答案 0 :(得分:1)
请使用以下代码,
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);
}
答案 1 :(得分:0)
我不确定,我明白你的想法。但试试这个:
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
答案 2 :(得分:0)
您可以使用i%10获取1和i / 10获取小数,例如:
int i = 12;
System.out.println(i / 10); // would be 1
System.out.println(i % 10); // would be 2
然后用它来提供你的hashmap。
答案 3 :(得分:0)
试试这个
Select date_of_joining,* from emp_mst Where
Dt_Of_Join=convert(varchar(10),dateadd(month,-6,getdate()),101)
答案 4 :(得分:0)
尝试此程序,因为它提供了上述输出。希望这会有所帮助。
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]));
}