3

6 文字の生成: 最初の文字は、アルファベット リスト (A、C、E、…、Y) の順序が奇数のアルファベットからランダムに生成されます。2 番目の文字は、アルファベット リストの順序が偶数のアルファベット (B、…、Y) からランダムに生成されます。 D、F、…、Z) 3 番目の文字はアルファベット リスト (A ~ Z) からランダムに生成されます。3 桁の数字はそれぞれ 1 ~ 9 からランダムに生成されます。

4

10 に答える 10

3

これは宿題ですか?その場合は、質問に適切なタグを付けてください。

ここに手がかりがあります。文字と数字はすべて文字であり、配列に格納できます。

于 2010-03-19T15:03:10.737 に答える
1

これが宿題であるかどうかはわかりません (そのように見えます)。そのため、考えられるアプローチの正しい方向を示します。

  • ランダムな整数は、他の 2 つの指定された整数 Y と Z の間の任意の整数 X になる可能性があることを思い出してください。
  • 乱数からランダムな文字にどのように移行できますか?
  • 0 から 13 までの乱数を取り、それを 0 から 26 までの偶数に変えるにはどうすればよいでしょうか? 奇数?
  • この質問に答えるために、これらのアイデア/概念をどのように活用できますか?
于 2010-03-19T15:43:04.450 に答える
1

Java では、char 演算を実行できます。そう

'A' + RNG.nextInt(26);

RNGは のインスタンスである「A」と「Z」の間のランダムな文字を返しますjava.util.Random

ストリングを効率的に構築するには。使うStringBuilder

于 2010-03-19T15:06:48.090 に答える
1

私の図書館のドルを使うのは簡単です:

@Test
public void generateRandomString() {
    String string = $('a', 'z').shuffle().slice(3).join() + // take 3 random letters
                    $('0', '9').shuffle().slice(3).join();  // take 3 random digits
    assertThat(string.length(), is(6));
}
于 2010-03-19T15:11:51.237 に答える
0

3つのランダムな文字とそれに続く3つの乱数を含む6つのランダムな文字を生成したいのですが、一度に生成できるのは文字または数字のみです。

char a = randomLetter();
char b = randomLetter();
char c = randomLetter();

int x = randomNumber();
int y = randomNumber();
int z = randomNumber();

String result = new String()+a+b+c+x+y+z;
于 2010-03-19T15:35:54.723 に答える
0

xegerbrics automatonを試してください。

import nl.flotsam.xeger.Xeger;
import dk.brics.automaton.Automaton;

public class RandomizeString{
    public String generateRandomString(){
        String regex = "[ACEGIKMOQSUWY][BDFHJLNPRTVXZ][A-Z][0-9]{3}";
        Xeger generator = new Xeger(regex);
        String result = generator.generate();
        return result;
    }
}

もっと理解するには、正規表現を学んでください。

于 2012-08-28T18:32:13.773 に答える
0

乱数生成関数を使用して範囲 [0,26) の数値を生成し、それに (int)'a' の値を追加して、結果を char にキャストします。

于 2010-03-19T15:03:47.173 に答える
0

RandomStringUtils、または少なくともそのソースコードを見ることができます。

于 2010-03-19T18:39:07.193 に答える
0

0 から 61 までの数字のセット (上下に 61 文字と数字があります) を生成し、それぞれを [0-9a-zA-Z] のいずれかにマップしてから、全体を連結します。

于 2010-03-19T15:05:33.020 に答える
0

使用できる基本的なもの:

  • アルファベット 26 文字すべての配列と、
  • 乱数ジェネレーターの 1 つまたは 2 つのインスタンス。
于 2010-03-19T15:05:59.647 に答える