利用java,写一个学生输入成绩异常的程序
时间: 2023-06-07 08:07:34 浏览: 86
好的,以下是利用Java编写一个处理学生输入成绩异常的程序:
```java
import java.util.Scanner;
public class Exam {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生的成绩:");
try {
double grade = scanner.nextDouble();
if (grade > 100 || grade < 0) {
throw new Exception("输入的成绩应该在0到100之间!");
} else {
System.out.println("该学生成绩为:" + grade);
}
} catch (Exception e) {
System.out.println("输入异常:" + e.getMessage());
}
}
}
```
这个程序会要求用户输入一个成绩,然后通过try-catch块来捕捉异常。如果输入的成绩不在0到100之间,就会抛出一个异常并提示用户重新输入;如果输入的成绩合法,程序就会输出成绩。
相关问题
利用java写一个学生成绩管理系统
好的,我可以为您提供一个简单的学生成绩管理系统的Java代码示例,如下所示:
```java
import java.util.Scanner;
class Student {
String name;
int[] scores = new int[3];
Student(String name) {
this.name = name;
}
void setScore(int index, int score) {
scores[index] = score;
}
int getScore(int index) {
return scores[index];
}
double getAverage() {
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
return sum / (double) scores.length;
}
}
public class StudentManagementSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Student[] students = new Student[3];
for (int i = 0; i < students.length; i++) {
System.out.print("请输入第" + (i+1) + "个学生的姓名:");
String name = scanner.next();
students[i] = new Student(name);
for (int j = 0; j < 3; j++) {
System.out.print("请输入" + name + "的第" + (j+1) + "门课程的成绩:");
int score = scanner.nextInt();
students[i].setScore(j, score);
}
}
for (int i = 0; i < students.length; i++) {
System.out.println(students[i].name + "的平均分为:" + students[i].getAverage());
}
}
}
```
这个程序实现了一个简单的学生成绩管理系统,它通过一个 `Student` 类来存储每个学生的姓名和三门课程的成绩,并计算出每个学生的平均分。在 `main` 方法中,我们先创建一个 `Scanner` 对象来读取用户输入,然后创建一个长度为 3 的 `Student` 数组,分别输入每个学生的姓名和三门课程的成绩,最后输出每个学生的平均分。
利用Java写一个简易的成绩管理系统
好的,我可以为您编写一个简易的成绩管理系统。这个系统将实现以下功能:让用户输入学生姓名和成绩,然后将它们存储到数组中。用户可以查询某个学生的成绩,也可以输出所有学生的信息。以下是程序的代码:
```java
import java.util.Scanner;
public class GradeManagementSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] names = new String[100];
double[] scores = new double[100];
int count = 0;
while (true) {
System.out.println("请选择操作:");
System.out.println("1.录入成绩");
System.out.println("2.查询成绩");
System.out.println("3.输出所有成绩");
System.out.println("4.退出程序");
int choice = input.nextInt();
if (choice == 1) {
System.out.print("请输入学生姓名:");
String name = input.next();
System.out.print("请输入学生成绩:");
double score = input.nextDouble();
names[count] = name;
scores[count] = score;
count++;
System.out.println("添加成功!");
} else if (choice == 2) {
System.out.print("请输入要查询成绩的学生姓名:");
String name = input.next();
boolean found = false;
for (int i = 0; i < count; i++) {
if (names[i].equals(name)) {
System.out.println(name + "的成绩为:" + scores[i]);
found = true;
break;
}
}
if (!found) {
System.out.println("找不到该学生的成绩!");
}
} else if (choice == 3) {
System.out.println("所有学生的成绩为:");
for (int i = 0; i < count; i++) {
System.out.println(names[i] + "的成绩为:" + scores[i]);
}
} else if (choice == 4) {
System.out.println("感谢使用本程序!");
break;
} else {
System.out.println("输入有误,请重新输入!");
}
}
}
}
```
在这个程序中,我们定义了一个名为GradeManagementSystem的类,并在类中定义了一个名为main的方法。在main方法中,我们首先定义了两个数组names和scores,分别用来存储学生姓名和成绩。然后,我们使用一个while循环来不断读取用户的输入,直到用户选择退出程序为止。在循环中,我们使用一个switch语句来根据用户的选择执行不同的操作。如果用户选择录入成绩,我们就让用户输入学生姓名和成绩,并将它们存储到数组中。如果用户选择查询成绩,我们就让用户输入要查询成绩的学生姓名,并在数组中查找对应的成绩。如果用户选择输出所有成绩,我们就遍历数组,逐个输出学生的姓名和成绩。如果用户选择退出程序,我们就跳出循环,结束程序的运行。
希望这个简易的成绩管理系统可以帮助您学习Java的基础语法和数组的使用。