### 回答1:
下面是一个简单的 Java 程序,用于生成四位验证码:
```java
import java.util.Random;
public class CaptchaGenerator {
public static void main(String[] args) {
String captcha = generateCaptcha();
System.out.println("验证码:" + captcha);
}
public static String generateCaptcha() {
String chars = "2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; i++) {
char c = chars.charAt(random.nextInt(chars.length()));
sb.append(c);
chars = chars.replace(Character.toString(c), "");
}
return sb.toString();
}
}
```
该程序使用了一个包含除了要排除的字符外的所有数字和字母的字符串,每次随机选取一个字符,并将该字符从字符串中删除,以确保验证码中没有重复的字符。
### 回答2:
编写一个为网站产生验证码的Java程序可以通过以下步骤实现:
1. 首先,创建一个包含数字和大小写字母的字符数组,不包含不能使用的字符(如1,l,L,0,o,O,2,z,Z,9,g)。
```java
char[] characters = {'A', 'B', 'C', 'D', 'E', 'F', 'H', 'J', 'K', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', '3', '4', '5', '6', '7', '8'};
```
2. 创建一个StringBuilder对象来存储生成的验证码。
```java
StringBuilder captcha = new StringBuilder();
```
3. 使用Random类生成一个随机索引,然后从字符数组中获取对应的字符,并将其追加到验证码字符串中。
```java
Random random = new Random();
for (int i = 0; i < 4; i++) {
int index = random.nextInt(characters.length);
captcha.append(characters[index]);
}
```
4. 最后,将生成的验证码作为返回值输出。
```java
return captcha.toString();
```
完整的Java代码如下所示:
```java
import java.util.Random;
public class CaptchaGenerator {
public static void main(String[] args) {
System.out.println(generateCaptcha());
}
public static String generateCaptcha() {
char[] characters = {'A', 'B', 'C', 'D', 'E', 'F', 'H', 'J', 'K', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', '3', '4', '5', '6', '7', '8'};
StringBuilder captcha = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 4; i++) {
int index = random.nextInt(characters.length);
captcha.append(characters[index]);
}
return captcha.toString();
}
}
```
运行该程序,可以生成一个四位的验证码,其中不包含不能使用的字符。
### 回答3:
以下是一个生成验证码的java程序:
```
import java.util.Random;
public class CaptchaGenerator {
public static void main(String[] args) {
String captcha = generateCaptcha();
System.out.println(captcha);
}
public static String generateCaptcha() {
String characters = "345678abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY";
StringBuilder captcha = new StringBuilder();
Random random = new Random();
while (captcha.length() < 4) {
int index = random.nextInt(characters.length());
char ch = characters.charAt(index);
// 检查字符是否已存在,避免重复
if (captcha.indexOf(String.valueOf(ch)) == -1) {
captcha.append(ch);
}
}
return captcha.toString();
}
}
```
在这个程序中,我们使用了一个`characters`字符串来保存可以用于生成验证码的字符。这个字符串中不包含1、l、L、0、o、O、2、z、Z、9和g,以避免混淆。
然后,我们使用`Random`类生成一个随机数,根据随机数生成一个随机索引,并根据索引获取对应的字符。我们检查这个字符是否已经存在于验证码中,如果不存在,则将其添加到验证码中。
通过循环重复以上步骤,直到验证码的长度达到4位。最后,我们返回生成的验证码。