所以我试图创建一个存储100个随机字符的数组(在a和z之间)。然后我想打印所有字符,以便用户可以看到它们。
以下是我的两种方法:
//method to generate random character between ch1 and ch2
public static char getRandomCharacter(char ch1, char ch2)
{
return (char) (ch1 + Math.random() * (ch2 -ch1 +1));
}
//==========================================
//method to assign generated characters (between a and z) to a 100 character array
public static char createArray()
{
//declare a 100 character array
char[] character = new char[100];
//for loop assigning the random characters to the array using getRandomCharacter method
for (int x = 0; x < character.length; x++)
getRandomCharacter('a', 'z');
//for loop outputting the characters in the array
for (int x = 0; x < character.length; x++)
System.out.println(character[x]);
return character[1];
}
我的问题是,每当我编译程序时,它会输出所有100个值为&#34; 0000&#34;。我错过了什么会使它输出为零而不是随机字符?我可以添加我的主要方法,如果需要这样做。
我也想知道,我将如何使用return语句?我只是让它返回数组中的第一个字符。如果我将return语句退出(因为它是一个聊天方法),程序将无法编译,并且它必须有一个方法类型供我从我的main调用该方法。
提前致谢!
答案 0 :(得分:2)
getRandomCharacter()
会返回一个随机字符,但您不会将其存储在character
数组中。
尝试替换它:
getRandomCharacter('a', 'z');
用这个:
character[x] = getRandomCharacter('a', 'z');
答案 1 :(得分:0)
如果你需要做的只是打印元素,那么你不需要返回任何东西
public static void createArray()
{
//declare a 100 character array
char[] character = new char[100];
//for loop assigning the random characters to the array using getRandomCharacter method
for (int x = 0; x < character.length; x++)
character[x] = getRandomCharacter('a', 'z');
//for loop outputting the characters in the array
for (int x = 0; x < character.length; x++)
System.out.println(character[x]);
}
答案 2 :(得分:-1)
要回答第二个问题,请将public class Authenticator extends javax.swing.JFrame {
JTextField username = new JTextField(15);
JPasswordField password = new JPasswordField(15);
//...
public Authenticator () {
super("Account Information");
password.setEchoChar('%');
//...
函数的返回类型更改为createArray()
而不是void
,然后省略return语句。