JAVA第三次实训作业
---恢复内容开始---
1、
- 编写“学生”类及其测试类。
“学生”类:
- 类名:Student
- 属性:姓名、性别、年龄、学号、5门课程的成绩
- 方法1:在控制台输出各个属性的值、
- 方法2:计算平均成绩
- 方法3:输出各个属性的值和平均成绩
测试类:
创建2个对象,调用方法,要求:对象各个属性的值,从键盘输入。
程序为:
package zuoye; //定义一个类 public class Student { String name; String sex; int age; String num; double score[]=new double[5]; //定义无参构造方法 public Student(){ } //定义成员方法 public void printmessage(){ System.out.println("姓名:"+name+"\n性别:"+sex+"\n年龄:"+age); for(int i=0;i<5;i++) { System.out.println("第"+( i+1)+"科的成绩为:"+score[i]); } } }
测试类:
package zuoye; import java.util.*; public class teststudent { public static void main(String[] args) { double sum=0,avg=0; for(int i=0;i<2;i++) { Student s1=new Student();//创建对象s1 Scanner t1=new Scanner(System.in); System.out.println("请输入第"+( i+1)+"位同学的姓名:"); s1.name=t1.next(); System.out.println("请输入第"+( i+1)+"位同学的性别:"); s1.sex=t1.next(); System.out.println("请输入第"+( i+1)+"位同学的年龄:"); s1.age=t1.nextInt(); System.out.println("请输入第"+( i+1)+"位同学的学号:"); s1.num=t1.next(); for(int j=0;j<5;j++) { System.out.println("请输入第"+( j+1)+"科的成绩:"); s1.score[j]=t1.nextDouble(); sum=sum+s1.score[j]; } avg=sum/5; s1.printmessage(); System.out.println("第"+( i+1)+"位同学的平均分为:"+avg+"\n"); } }
运行结果:
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 ("201801420315","罗梦祺","400381191111301519","湖南信息学院",5,5); Scanner rd=new Scanner(System.in); System.out.print("请输入此同学本次借书数:"); s1.benjie=rd.nextInt(); s1.kejie=5-s1.benjie; if(s1.benjie>5) { System.out.print("借书数目不正常!"); } else { s1.printmessage(); } System.out.print("请输入此同学本次还书数:"); s1.benhuan=rd.nextInt(); s1.kejie=s1.benhuan+s1.kejie; if(s1.benhuan>5) { System.out.print("还书数目不正常!"); } else { s1.huanshu(); } } { } }
运行结果为:
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*2; 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); } }
运行结果为:
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(); } }
运行结果为:
5、
- 编写“用户”类及其测试类。
9.1 应用场景
- 大多数的软件都需要“用户管理功能”,需要创建“用户类”。此程序实现了简易的“登录”功能,即验证用户名和密码是否正确。
9.2“用户”类:
- 属性:用户名、密码
- 方法1:查找用户名是否存在(请将已注册的用户信息保存在数组中),用户存在返回true,不存在返回false
- 方法2:验证密码是否正确,正确返回true,不正确返回false
9.3 测试类
- 从键盘输入用户名和密码
- 用户名、密码均正确,在控制台输出“登录成功”
- 用户名不存在,在控制台输出“用户名不存在”
- 密码不正确,在控制台输出“密码不正确”
程序为:
package zuoye; public class person { String a[]={"xm"};//用户名 String b[]= {"123456"};//密码 String xingming; String mima; public boolean xingming() { for(int i=0;i<a.length;i++) { if(xingming.equals(a[i])) return true; } return false; } public boolean mima() { for(int i=0;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("密码不正确!"); } }
运行结果为: