1、定义第一个方法 getArray, 功能是: 键盘录入5个学生,并返回结果 定义第二个方法 getTopic , 功能是: 在其中定义一个数组,里面存着五道题。 随机出1位同学,并随机出3道题。(要求题目不一样)
时间: 2023-12-06 16:39:52 浏览: 37
Java代码实现如下:
```java
import java.util.Scanner;
import java.util.Random;
public class StudentTest {
// 获取学生信息
public static String[] getArray() {
Scanner input = new Scanner(System.in);
String[] students = new String[5];
System.out.println("请录入5个学生的姓名:");
for (int i = 0; i < students.length; i++) {
System.out.print("学生" + (i+1) + ": ");
students[i] = input.next();
}
System.out.println("录入完毕!");
return students;
}
// 获取随机同学和题目
public static void getTopic(String[] students) {
Random rand = new Random();
int stuIndex = rand.nextInt(students.length); // 随机选择一个同学
String[] topics = {"题目1", "题目2", "题目3", "题目4", "题目5"}; // 题目数组
String[] selectedTopics = new String[3]; // 选出的题目数组
// 随机选择3道不同的题目
for (int i = 0; i < selectedTopics.length; i++) {
int topicIndex;
do {
topicIndex = rand.nextInt(topics.length);
} while (arrayContains(selectedTopics, topics[topicIndex]));
selectedTopics[i] = topics[topicIndex];
}
System.out.println("随机选择的同学是:" + students[stuIndex]);
System.out.println("随机选择的题目是:");
for (String topic : selectedTopics) {
System.out.println(topic);
}
}
// 判断数组中是否包含某个元素
public static boolean arrayContains(String[] arr, String str) {
for (String s : arr) {
if (s != null && s.equals(str)) {
return true;
}
}
return false;
}
public static void main(String[] args) {
String[] students = getArray();
getTopic(students);
}
}
```
运行结果示例:
```
请录入5个学生的姓名:
学生1: 张三
学生2: 李四
学生3: 王五
学生4: 赵六
学生5: 周七
录入完毕!
随机选择的同学是:赵六
随机选择的题目是:
题目2
题目1
题目5
```