题目1:
构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、email地址。 在建立类的实例时把以上三个信息都作为构造函数的参数输入,其中用户 ID 和用户密码时没有缺省,而email地址缺省的时候 email地址是用户 ID 加上字符串"@gameschool.com"
代码实现:
import java.util.Scanner;
class NetUser{
private String id;
private String password;
private String email;
public NetUser(String id, String password) {
this.id = id;
this.password = password;
this.email = id+"@gameschool.com";
}
public NetUser(String id, String password, String email) {
this.id = id;
this.password = password;
this.email = email;
}
public void show(){
System.out.println("用户ID:"+id+",密码:"+password+",邮箱:"+email);
}
}
public class Test3 {
public static void main(String[] args) {
NetUser user;
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户ID:");
String id = sc.next();
System.out.println("请输入密码:");
String password = sc.next();
System.out.println("是否要输入邮箱:(1/2)");
int i = sc.nextInt();
if(i==1){
System.out.println("请输入用户的邮箱:");
String email = sc.next();
user = new NetUser(id,password,email);
}else if(i==2){
user = new NetUser(id,password);
}else{
System.out.println("输入有误");
user = new NetUser(null,null,null);
}
user.show();
}
}
运行截图:
题目2:
定义一个表示学生信息的类 Student,要求如下: (1)类 Student 的属性如下: sNO 表示学号; sName 表示姓名; sSex 表示性别; sAge 表示年龄;sJava:表示 Java 课程成绩。 (2)类 Student 带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作。 (3)类 Student 的方法成员: getNo():获得学号; getName():获得姓名; getSex():获得性别; getAge()获得年龄; getJava():获得 Java 课程成绩 (4)根据类 Student 的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生 Java 语言成绩的平均值,以及计算并输出他们 Java 语言成绩的最大值和最小值。
代码实现:
import java.util.Scanner;
class Student {
private String sNo;
private String sName;
private String sSex;
private int sAge;
private int sJava;
public Student() {
}
public Student(String sNo, String sName, String sSex, int sAge, int sJava) {
this.sNo = sNo;
this.sName = sName;
this.sSex = sSex;
this.sAge = sAge;
this.sJava = sJava;
}
public String getsNo() {
return sNo;
}
public String getsName() {
return sName;
}
public String getsSex() {
return sSex;
}
public int getsAge() {
return sAge;
}
public int getsJava() {
return sJava;
}
public void show() {
System.out.println("学号:" + sNo);
System.out.println("姓名:" + sName);
System.out.println("性别:" + sSex);
System.out.println("年龄:" + sAge);
System.out.println("java课程成绩:" + sJava);
}
}
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//定义一个数组存放5个学生对象的java成绩
Student[] arr = new Student[5]; //数组中存的是学生对象
Student s;
//创建5个学生对象
for (int i = 0; i < 5; i++) {
System.out.println("请输入第" + (i + 1) + "个学生信息:");
System.out.println("请输入学生的学号:");
String sNo = sc.next();
System.out.println("请输入学生的姓名:");
String sName = sc.next();
System.out.println("请输入学生的性别:");
String sSex = sc.next();
System.out.println("请输入学生的年龄:");
int sAge = sc.nextInt();
System.out.println("请输入学生的java课程成绩:");
int sJava = sc.nextInt();
s = new Student(sNo, sName, sSex, sAge, sJava);
arr[i] = s;
System.out.println("===============================");
}
//调用方法求出5个学生的java课程成绩平均值
double avgScore = getAvgScore(arr);
System.out.println("5位学生的java课程成绩平均值为:" + avgScore);
System.out.println("**************************************************");
//调用方法求出5位学生中java课程成绩最高的学生信息
Student student1 = getMaxScore(arr);
System.out.println("java成绩最高的学生信息为:");
student1.show();
System.out.println("**************************************************");
//调用方法求出5位学生中java课程成绩最低的学生信息
Student student2 = getMinScore(arr);
System.out.println("java成绩最低的学生信息为:");
student2.show();
}
//定义方法求平均成绩
public static double getAvgScore(Student[] array) {
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum = sum + array[i].getsJava();
}
return (sum * 1.0) / array.length;
}
//定义方法求最高成绩
public static Student getMaxScore(Student[] array) {
int max = array[0].getsJava();
int index = 0;
for (int i = 1; i < array.length; i++) {
if (array[i].getsJava() > max) {
max = array[i].getsJava();
index = i;
}
}
return array[index];
}
//定义方法求最低成绩
public static Student getMinScore(Student[] array) {
int min = array[0].getsJava();
int index = 0;
for (int i = 1; i < array.length; i++) {
if (array[i].getsJava() < min) {
min = array[i].getsJava();
index = i;
}
}
return array[index];
}
}