Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在给定范围内用Java生成随机小写字母_Java_Random_Letters - Fatal编程技术网

在给定范围内用Java生成随机小写字母

在给定范围内用Java生成随机小写字母,java,random,letters,Java,Random,Letters,我正在尝试写一个方法,它可以接受一个开始的小写字母和一个结束的小写字母,并生成该范围内的随机字母。接下来,将随机字母分配给由用户确定大小的数组的元素。到目前为止,只要起始字符是“a”,我的代码似乎就能工作。当起始字符不是“a”时,我不知道如何使它工作。我编写了这个完整的程序来尝试对我的方法进行故障排除: import java.util.Random; import java.util.Scanner; public class Add { public static void main

我正在尝试写一个方法,它可以接受一个开始的小写字母和一个结束的小写字母,并生成该范围内的随机字母。接下来,将随机字母分配给由用户确定大小的数组的元素。到目前为止,只要起始字符是“a”,我的代码似乎就能工作。当起始字符不是“a”时,我不知道如何使它工作。我编写了这个完整的程序来尝试对我的方法进行故障排除:

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();


}