JAVA第三次实训作业

时间:2024-04-07 23:07:19

---恢复内容开始---

1、

  • 编写“学生”类及其测试类。

“学生”类:

  • 类名:Student
  • 属性:姓名、性别、年龄、学号、5门课程的成绩
  • 方法1:在控制台输出各个属性的值、
  • 方法2:计算平均成绩
  • 方法3:输出各个属性的值和平均成绩

测试类:

创建2个对象,调用方法,要求:对象各个属性的值,从键盘输入

程序为:

package zuoye;
//定义一个类
public class Student {
String name;
String sex;
int age;
String num;
double score[]=new double[];
//定义无参构造方法
public Student(){ }
//定义成员方法
public void printmessage(){
System.out.println("姓名:"+name+"\n性别:"+sex+"\n年龄:"+age);
for(int i=;i<;i++) {
System.out.println("第"+( i+)+"科的成绩为:"+score[i]);
}
}
}

测试类:

package zuoye;
import java.util.*;
public class teststudent {
public static void main(String[] args) {
double sum=,avg=;
for(int i=;i<;i++) {
Student s1=new Student();//创建对象s1
Scanner t1=new Scanner(System.in);
System.out.println("请输入第"+( i+)+"位同学的姓名:");
s1.name=t1.next();
System.out.println("请输入第"+( i+)+"位同学的性别:");
s1.sex=t1.next();
System.out.println("请输入第"+( i+)+"位同学的年龄:");
s1.age=t1.nextInt();
System.out.println("请输入第"+( i+)+"位同学的学号:");
s1.num=t1.next();
for(int j=;j<;j++) {
System.out.println("请输入第"+( j+)+"科的成绩:");
s1.score[j]=t1.nextDouble();
sum=sum+s1.score[j];
}
avg=sum/;
s1.printmessage();
System.out.println("第"+( i+)+"位同学的平均分为:"+avg+"\n");
}
}

运行结果:

 JAVA第三次实训作业
2、
  • 编写“借书卡”类及其测试类。

6.1 “借书卡”类

  • 属性:账号、持卡人姓名、身份证号码、地址、已借书数、可借书数、本次借书数、本次还书数
  • 方法一:借书,显示本次借书数和可借书数
  • 方法二:还书,显示本次还书数和可借书数

6.2 测试类

本次借书数 和 本次还书数,从键盘输入

程序:

package zuoye;
public class Borrowbook {
String id;
String name;
String number;
String add;
int yijie;
int kejie;
int benjie;
int benhuan;
//定义成员变量 public Borrowbook(String id, String name, String number, String add,int kejie,int benjie) {
this.id=id;
this.name=name;
this.number=number;
this.add=add;
this.kejie=kejie;
}
//定义构造方法 public void printmessage() {
System.out.println("此同学本次借书数:"+benjie);
System.out.println("此同学可借书数:"+kejie);
} public void huanshu() {
System.out.println("此同学本次还书数:"+benhuan);
System.out.println("此同学可借书数:"+kejie);
}
}

测试类:

package zuoye;
import java.util.*;
public class TestBorrowbook {
public static void main(String[] args) {
Borrowbook s1=new Borrowbook ("","罗梦祺","","湖南信息学院",,);
Scanner rd=new Scanner(System.in);
System.out.print("请输入此同学本次借书数:");
s1.benjie=rd.nextInt();
s1.kejie=-s1.benjie;
if(s1.benjie>) {
System.out.print("借书数目不正常!");
}
else {
s1.printmessage();
}
System.out.print("请输入此同学本次还书数:");
s1.benhuan=rd.nextInt();
s1.kejie=s1.benhuan+s1.kejie;
if(s1.benhuan>) {
System.out.print("还书数目不正常!");
}
else {
s1.huanshu();
}
}
{
}
}

运行结果为:

JAVA第三次实训作业
3、
  • 编写“电费管理类”及其测试类。

“借书卡”类

  • 属性:上月电表读数、本月电表读数
  • 方法一:显示上月、本月电表读数
  • 方法二:计算本月用电数
  • 方法三:显示本月用电数
  • 方法四:假设每度电的价格为2元,计算并显示本月电费

测试类

上月电表读数、本月电表读数,从键盘输入

程序为:

package zuoye;
public class dianfei {
double oldnumber,newnumber; public dianfei( ){ } public void printmessage(){
System.out.println("上月电表读数="+oldnumber+",本月电表读数="+newnumber);
}
//方法一:显示上月、本月电表读数 public void jisuan() {
double spend;
spend=newnumber;
System.out.println("本月用电数为:"+spend);
}
//方法二:计算本月用电数
//方法三:显示本月用电数 public void printmessage1(double newnumber) {
double m;
m= newnumber*;
System.out.println("本月电费为="+m+"\n");
}
}
测试类:
package zuoye;
import java.util.*;
public class testdianfei {
public static void main(String[] args) {
double m,o,n;
dianfei s1=new dianfei();
Scanner t1=new Scanner(System.in);
System.out.println("请输入上个月的电表读数:");
s1.oldnumber=t1.nextDouble();
System.out.println("请输入本月的电表读数:");
s1.newnumber=t1.nextDouble();
s1.printmessage();
s1.jisuan();
s1.printmessage1(s1.newnumber);
}
}
运行结果为:
JAVA第三次实训作业
4、
  • 编写“四则运算类”及其测试类。

应用场景

  • 计算器。能实现简单的四则运算,要求:只进行一次运算。

“四则运算”类

  • 属性:操作数一、操作数二、操作符
  • 方法一:对两个操作数做加运算
  • 方法二:对两个操作数做减运算
  • 方法三:对两个操作数做乘运算
  • 方法四:对两个操作数做除运算

8.2 测试类

从键盘输入两个操作数和一个操作符,计算之后,输出运算结果。

程序为:

package zuoye;
public class jisuanqi {
double x1;
double x2;
String a;
public void jisuan() {
double sum;
switch(a) {
case "+": sum=x1+x2; System.out.println("运算结果为:"+sum);break;
case "-": sum=x1-x2; System.out.println("运算结果为:"+sum);break;
case "*": sum=x1*x2; System.out.println("运算结果为:"+sum);break;
case "/": sum=x1/x2; System.out.println("运算结果为:"+sum);break;
}
}
}

测试类:

package zuoye;
import java.util.Scanner;
public class Testjisunji {
public static void main(String[] args) {
jisuanqi j1=new jisuanqi();
Scanner rd=new Scanner(System.in);
System.out.print("请输入第一个数据:");
j1.x1=rd.nextDouble();
System.out.print("请输入第二个数据:");
j1.x2=rd.nextDouble();
System.out.print("请输入运算符:");
j1.a=rd.next();
j1.jisuan();
}
}

运行结果为:

JAVA第三次实训作业
5、
  • 编写“用户”类及其测试类。

9.1 应用场景

  • 大多数的软件都需要“用户管理功能”,需要创建“用户类”。此程序实现了简易的“登录”功能,即验证用户名和密码是否正确。

9.2“用户”类:

  • 属性:用户名、密码
  • 方法1:查找用户名是否存在(请将已注册的用户信息保存在数组中),用户存在返回true,不存在返回false
  • 方法2:验证密码是否正确,正确返回true,不正确返回false

9.3 测试类

  • 从键盘输入用户名和密码
  • 用户名、密码均正确,在控制台输出“登录成功”
  • 用户名不存在,在控制台输出“用户名不存在”
  • 密码不正确,在控制台输出“密码不正确”

程序为:

package zuoye;
public class person {
String a[]={"xm"};//用户名
String b[]= {""};//密码
String xingming;
String mima;
public boolean xingming() {
for(int i=;i<a.length;i++) {
if(xingming.equals(a[i]))
return true;
}
return false;
}
public boolean mima() {
for(int i=;i<b.length;i++) {
if(mima.equals(b[i]))
return true;
}
return false;
}
}

测试类:

package zuoye;
import java.util.*;
public class testperson {
public static void main(String[] args) {
Scanner rd=new Scanner(System.in);
person s=new person();
System.out.println("请输入用户名和密码:");
s.xingming=rd.next();
s.mima=rd.next();
if(s.xingming()==true&&s.mima()==true)
System.out.println("登录成功!");
else if(s.xingming()==false&&s.mima()==true)
System.out.println("用户名不存在!");
else if(s.xingming()==true&&s.mima()==false)
System.out.println("密码不正确!");
}
}

运行结果为:

JAVA第三次实训作业