在给定范围内用Java生成随机小写字母
我正在尝试写一个方法,它可以接受一个开始的小写字母和一个结束的小写字母,并生成该范围内的随机字母。接下来,将随机字母分配给由用户确定大小的数组的元素。到目前为止,只要起始字符是“a”,我的代码似乎就能工作。当起始字符不是“a”时,我不知道如何使它工作。我编写了这个完整的程序来尝试对我的方法进行故障排除:在给定范围内用Java生成随机小写字母,java,random,letters,Java,Random,Letters,我正在尝试写一个方法,它可以接受一个开始的小写字母和一个结束的小写字母,并生成该范围内的随机字母。接下来,将随机字母分配给由用户确定大小的数组的元素。到目前为止,只要起始字符是“a”,我的代码似乎就能工作。当起始字符不是“a”时,我不知道如何使它工作。我编写了这个完整的程序来尝试对我的方法进行故障排除: import java.util.Random; import java.util.Scanner; public class Add { public static void main
import java.util.Random;
import java.util.Scanner;
public class Add
{
public static void main( String[] args )
{
Scanner scan = new Scanner(System.in);
System.out.print("Enter array size: ");
int arraySize = scan.nextInt();
char charArray[] = new char[arraySize];
int fromChar;
int toChar;
do
{
System.out.print("Enter first character: ");
String line = scan.next();
fromChar = line.charAt(0);
System.out.print("Enter second character: ");
line = scan.next();
toChar = line.charAt(0);
Random generator = new Random();
for(int i = 0; i < arraySize; i++)
{
int randomInt = generator.nextInt(toChar - fromChar + 1) + 97;
//System.out.print(randomInt + " | "); //used to print unicode values
charArray[i] = (char)(randomInt);
}
System.out.println(charArray);
}
while(true);
} // end of main
}// end of class
import java.util.Random;
导入java.util.Scanner;
公共类添加
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
System.out.print(“输入数组大小:”);
int arraySize=scan.nextInt();
char charArray[]=新字符[arraySize];
int fromChar;
int toChar;
做
{
System.out.print(“输入第一个字符:”);
String line=scan.next();
fromChar=line.charAt(0);
System.out.print(“输入第二个字符:”);
line=scan.next();
toChar=行字符(0);
随机生成器=新随机();
for(int i=0;i
任何帮助都将不胜感激
int randomInt = generator.nextInt(toChar - fromChar + 1) + fromChar;
这不应该是:-
int randomInt = generator.nextInt(toChar - fromChar + 1) + fromChar;
*这对你有帮助吗?如果你把字母a放在大写字母a的位置,你把数字放在上面,它会给你一些字符赋值,我把字母b放在那里,从字母b开始。*
公共静态void main(字符串[]args){
嗨,约翰,欢迎来到SO.+1,因为SSCCE:)SSCCE?对不起,我对行话不太熟悉。:“简短、自包含、正确(可编译)、示例”()。我以为我一读代码就知道答案,但我能够在几分钟内进行测试,因为我不需要编写自己的测试包装器。@Patricia Shanahan好的,现在我用对象调用方法时遇到NullPointerException。我的构造函数有问题吗?public CharCollection(int arraySize)//构造函数{char charArray[]=new char[arraySize];numOfElements=arraySize;}查看行“char charArray[]=new char[arraySize];”。它在构造函数中声明一个局部变量并对其进行初始化。如果它应该初始化对象中的一个字段,请去掉初始的“char”将其从带有初始值设定项的声明更改为赋值。Hmmm..我仍然有点困惑。我知道在声明数组(上面作为私有实例变量完成)后,我只需要赋值。例如,private int x;x=1;我不知道如何将其转换为数组。private int[]myArray=new int[10];或私有int[]myArray={2,3100};
int randomInt = generator.nextInt(toChar - fromChar + 1) + fromChar;
Random r = new Random();
System.out.print((char) ((r.nextInt(26) + 'b')) + " ");
System.out.println();
}