从两个用户给定值生成字母 [英] generating letters from two user given values
本文介绍了从两个用户给定值生成字母的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
public void add( char fromChar, char toChar){
随机a = 新 Random();
字符 []字符= {' a',' b',' c',' d',' e',' ' ' ' i',' j', ' k',' l',' m',' n',' o',' p',' q',' r', s', t', u',' v',' w' ,' x',' y',' z' };
int 开始= 65;
for ( int i = 0; i< characters.length;>字符[i] =开头;
开始++;
}
for ( int i = fromChar; i< tochar;> System.out.println(a.nextInt (fromChar,toChar);
}
}
[edit]删除了粗体的虚假字符,添加了代码块-OriginalGriff [/edit]
解决方案
您需要根据任意值设置种子,然后调用具有限制范围的方法.像这样的东西:
int range = toChar-fromChar; int seed = fromChar * toChar; 随机rr = 新随机(种子); for ( int i = 0 ; i < 10 ; ++ i){ char randomChar =( char )(fromChar + rr.nextInt(range)); System.out.println(" + randomChar); }
i have been trying to write a method that generates random letters between two given char values. So far i believe the best way is to convert the char characters to ascii values then compare them with the user input and make a for loop between those 2 values. My problem is i dont know how to compare the values after they have been converted here is my code so far:
public void add (char fromChar, char toChar){
Random a = new Random();
char[] characters = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int start =65;
for(int i =0; i<characters.length;> characters[i] = start;
start++;
}
for(int i = fromChar; i<tochar;> System.out.println(a.nextInt(fromChar,toChar);
}
}
[edit]Spurious bold removed, Code block added - OriginalGriff[/edit]
解决方案
You need to set a seed based on some arbitrary value, then call thenextInt()
method with a limiting range. Something like:
int range = toChar - fromChar; int seed = fromChar * toChar; Random rr = new Random(seed); for (int i = 0; i < 10; ++i) { char randomChar = (char)(fromChar + rr.nextInt(range)); System.out.println("Next character: " + randomChar); }
这篇关于从两个用户给定值生成字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文