3

開始小文字と終了小文字を取り、その範囲でランダムな文字を生成できるメソッドを作成しようとしています。次に、ユーザーが決定したサイズの配列の要素にランダムな文字が割り当てられます。これまでのところ、開始文字が「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

どんな助けでも大歓迎です!

4

3 に答える 3

5
int randomInt = generator.nextInt(toChar - fromChar + 1) + fromChar;
于 2012-11-12T05:11:53.107 に答える
3
int randomInt = generator.nextInt(toChar - fromChar + 1) + 97;

これはすべきではありません:-

int randomInt = generator.nextInt(toChar - fromChar + 1) + fromChar;
于 2012-11-12T05:12:53.277 に答える
0

*それはあなたを助けますか?たとえばAの「a」をどこに置くかは大文字になり、そこに数字を入れると、bから始めるためにいくつかの文字が付けられます。*

public static void main(String [] args){

    Random r = new Random();


    System.out.print((char) ((r.nextInt(26) + 'b')) + " ");

    System.out.println();


}
于 2012-11-12T05:20:48.557 に答える