import java.util.Random;
import java.util.Scanner;
public class WhoIsTheDormitoryLeader {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入有几位同学:");
int a = scanner.nextInt();
System.out.println("请输入姓名:");
String[] s = new String[a];
for(int i = 0;i < a;i++){
s[i] = scanner.nextLine();
}
Random random = new Random();
System.out.println(s[random.nextInt(a)] + "喜提寝室长");
}
}
聂莫琪
陶梦嫣
王娇彤
崔婉莺
楼主,你这个可能是因为你下面多打了一个回车进去,然后它也读到数组里面了
我直接拿你的代码测试,正常的输入输出,多次测试得出的结果都是正常的,但是在输入的最后多敲几个回车也出现了你那样的情况,所以应该是读数据把回车也读进去了。
这里测试截图就不放了,帮你优化了一下代码
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入有几位同学:");
int a = scanner.nextInt();
System.out.println("请输入姓名:");
String[] s = new String[a];
for (int i = 0; i < a; i++) {
s[i] = scanner.nextLine().trim(); // 删除前后的空格
if ("".equals(s[i])) i--; // 如果是空数据就不读
}
Random random = new Random();
System.out.println(s[random.nextInt(a)] + "喜提寝室长");
}
在int a下面一行添加一行,scanner.nextline()就行了
正如你们所见,我是纸嫁衣铁粉