随机100个字符数组;打印所有数组值

时间:2015-11-05 03:26:57

标签: java arrays

所以我试图创建一个存储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调用该方法。

提前致谢!

3 个答案:

答案 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语句。