2017-03-31 64 views
2

我正在学习java,现在我的任务是模拟一个象棋符号。如何在Java中随机选择字母?

我已经做了随机INT代码,但不知道如何做一个随机的字母代码,事情是我只需要选择从A随机字母H,我已经看到了随机所有信发电机却苦于不工作我的方式来了解如何只生成AH

我的其他问题是我能否将字符和整数存储在矩阵[k][8]中,还是必须以特殊方式初始化它?

想法是创建类,然后尝试随机生成国际象棋符号。在这个阶段,这些符号不必有意义。

以下是我用于INT随机

import java.util.Random; 

static Random rnd = new Random(); 
static int rnd(int A, int B) { 
    return A + rnd.nextInt(B - A + 1); 

此外,我怎么可以从指定的字母将代表国际象棋数字随机选择?

我不需要确切的代码推向正确的方向将是绰绰有余。

+0

您可以添加字母到一个数组,然后使用的Math.random为数组索引 – AMB

+2

'回报“A” + rnd.nextInt(8);'不要忘记将结果转换为'char'。此外,这可能会识别棋盘上的一列 - 但它不代表国际象棋棋子(或国际象棋棋盘格)。 –

+0

谢谢,对于国际象棋人物,我想到了创造另一个随机功能,将从给定的国际象棋数字可用。不知道这是否是最好的方式,但这是我的头脑 –

回答

4

这样的事情呢?

Random rnd = new Random(); 
String characters = "ABCDEFGH"; 
char randomChar = characters.charAt(rnd.nextInt(characters.length())); 
+0

谢谢,会给它一个尝试,并写一个评论 –

+0

这是好的,一个数组更容易维护,如果你曾经切换到选择随机字符串,而不是字符虽然 – Cruncher

+0

@RyneIgnelzy你已经答应写评论:)你解决了你的问题吗? –

1

您可以创建此工具类与static方法:

public class RandomUtils { 
    public static char generateRandomChar() { 
     char[] chars = "ABCDEFGH".toCharArray(); 
     Random random = new Random(); 
     return chars[random.nextInt(chars.length)]; 
    }