int xu = in.nextInt(); switch (xu) { case 1: // 调用入库方法 Warehousing(array); break; case 2: // 调用显示方法 display(array); break; case 3: // 调用删除方法 delete(array); break; case 4: System.out.println("欢迎下次使用!"); System.exit(0); // JVM退出 default: System.out.println("请输入正确的序号!"); }
时间: 2024-02-14 07:11:11 浏览: 19
这是上面提到的Interface方法中的一段代码。它根据用户输入的功能序号(xu)来执行相应的操作。使用switch语句来判断用户输入的序号,如果是1,则调用Warehousing方法来进行商品入库操作;如果是2,则调用display方法来进行商品显示操作;如果是3,则调用delete方法来进行删除商品操作;如果是4,则打印“欢迎下次使用!”的消息,然后使用System.exit(0)退出JVM。如果用户输入的序号不是1、2、3或4,则打印“请输入正确的序号!”的消息。
相关问题
用java语言实现如下题目:定义一个学生类Student,成员变量包括:姓名,生日,学号,学校;重写方法toString,equals,hashCode;实现接口Comparable,按照学号大小进行比较;定义构造方法。 代码形式如下: public class Main{ public static void main(String[] args) { Scanner in=new Scanner(System.in); int num=in.nextInt(); Student[] studentArray = new Student[num]; for(int i=0;i<num;i++) { String name=in.next(); int year=in.nextInt(); int month=in.nextInt(); int day=in.nextInt(); String studentId=in.next(); String school=in.next(); studentArray[i]=new Student(name,year,month,day,studentId,school); } Arrays.sort(studentArray); for(Student s:studentArray) System.out.println(s); } } class Student implements Comparable { //给出Student的定义 }
代码如下:
```
import java.util.Arrays;
import java.util.Date;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int num=in.nextInt();
Student[] studentArray = new Student[num];
for(int i=0;i<num;i++) {
String name=in.next();
int year=in.nextInt();
int month=in.nextInt();
int day=in.nextInt();
String studentId=in.next();
String school=in.next();
studentArray[i]=new Student(name,year,month,day,studentId,school);
}
Arrays.sort(studentArray);
for(Student s:studentArray)
System.out.println(s);
}
}
class Student implements Comparable<Student> {
private String name;
private Date birthday;
private String studentId;
private String school;
public Student(String name, int year, int month, int day, String studentId, String school) {
this.name = name;
this.birthday = new Date(year - 1900, month - 1, day);
this.studentId = studentId;
this.school = school;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", birthday=" + birthday +
", studentId='" + studentId + '\'' +
", school='" + school + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Student)) return false;
Student student = (Student) o;
return studentId.equals(student.studentId);
}
@Override
public int hashCode() {
return studentId.hashCode();
}
@Override
public int compareTo(Student o) {
return this.studentId.compareTo(o.studentId);
}
}
```
注:上述代码中,我们使用了 `java.util.Date` 类来表示学生的生日,并在 `Student` 构造函数中将输入的年月日转换为 `Date` 类型。同时,我们重写了 `equals` 和 `hashCode` 方法,以确保在使用 `HashSet` 或 `HashMap` 等容器时,能够正确判断学生对象是否相等。
System.out.print("请输入参赛天数:"); int n = scanner.nextInt(); int gold = 0, silver = 0, bronze = 0; for (int i = 0; i < n; i++) { System.out.printf("请输入第%d天的奖牌数(金 银 铜):", i + 1); int g = scanner.nextInt(); int s = scanner.nextInt(); int b = scanner.nextInt(); gold += g; silver += s; bronze += b; } int total = gold + silver + bronze; System.out.printf("金牌:%d,银牌:%d,铜牌:%d,总奖牌数:%d\n", gold, silver, bronze, total); 加个n的范围(1≤n≤17)
好的,可以在读取 `n` 的值之后添加如下代码来判断 `n` 是否在范围内:
```java
if (n < 1 || n > 17) {
System.out.println("参赛天数必须在 1 到 17 之间");
return;
}
```
完整代码如下:
```java
import java.util.Scanner;
public class MedalCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入参赛天数:");
int n = scanner.nextInt();
if (n < 1 || n > 17) {
System.out.println("参赛天数必须在 1 到 17 之间");
return;
}
int gold = 0, silver = 0, bronze = 0;
for (int i = 0; i < n; i++) {
System.out.printf("请输入第%d天的奖牌数(金 银 铜):", i + 1);
int g = scanner.nextInt();
int s = scanner.nextInt();
int b = scanner.nextInt();
gold += g;
silver += s;
bronze += b;
}
int total = gold + silver + bronze;
System.out.printf("金牌:%d,银牌:%d,铜牌:%d,总奖牌数:%d\n", gold, silver, bronze, total);
}
}
```
这样,如果输入的 `n` 不在范围内,程序会输出错误提示并直接结束。