如何使用Java编程从控制台获取用户输入,用于创建包含学生姓名(String)、学号(int)、性别(enum类型,如Sex Male/Female)和成绩(double)的学生对象实例?
时间: 2024-10-22 19:09:28 浏览: 16
基于java+控制台实现学生宿舍管理系统
在Java中,你可以使用Scanner类从控制台获取用户的输入,并结合构造函数来创建学生对象实例。以下是一个简单的步骤:
1. 首先,导入必要的包:
```java
import java.util.Scanner;
```
2. 定义一个表示学生的枚举Sex:
```java
public enum Sex {
MALE, FEMALE
}
```
3. 创建一个代表学生的信息类,例如`Student`:
```java
public class Student {
private String name;
private int studentId;
private Sex gender;
private double score;
// 构造函数接受所有属性作为参数
public Student(String name, int studentId, Sex gender, double score) {
this.name = name;
this.studentId = studentId;
this.gender = gender;
this.score = score;
}
// getters and setters...
}
```
4. 现在可以在主程序中获取用户输入并创建学生对象:
```java
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学号:");
int studentId = scanner.nextInt(); // 使用nextInt()读取整数
System.out.println("请选择性别 (M/F):");
char genderChoice = scanner.next().charAt(0); // 注意这里假设用户输入只有大写字母
Sex gender;
if (genderChoice == 'M') {
gender = Sex.MALE;
} else if (genderChoice == 'F') {
gender = Sex.FEMALE;
} else {
throw new IllegalArgumentException("Invalid gender input.");
}
System.out.println("请输入成绩:");
double score = scanner.nextDouble();
// 创建学生对象
Student student = new Student(name, studentId, gender, score);
// 关闭Scanner
scanner.close();
// 现在可以使用student对象了
}
```
阅读全文