1.编写“学生”类及其测试类。
5.1 “学生”类:
² 类名:Student
² 属性:姓名、性别、年龄、学号、5门课程的成绩
² 方法1:在控制台输出各个属性的值、
² 方法2:计算平均成绩
² 方法3:输出各个属性的值和平均成绩
5.2 测试类
² 创建2个对象,调用方法,要求:对象各个属性的值,从键盘输入。
代码:
package disanci;
public class Student {
static String name;
static String sex;
static int age;
int number;
static int add[]=new int[5];
public void myprint(){
System.out.println("姓名:"+name+"性别:"+sex+"年龄:"+age);
for(int i=0;i<5;i++){
System.out.println("此同学第"+(i+1)+"门课程成绩为:"+add[i]);
}
}
public double average(){
int s=0;
double a = 0;
for(int i=0;i<5;i++){
s=s+add[i];
}
a=s/5;
return a;
}
public void print2(){
double b=0;
b=average();
System.out.println("姓名:"+name+"性别:"+sex+"年龄:"+age);
for(int i=0;i<5;i++){
System.out.println("此同学第"+(i+1)+"门课程成绩为:"+add[i]);
}
b=average();
System.out.println("此同学平均分为:"+b);
}
}
测试类:
import java.util.Scanner;
public class Teststudent {
public static void main(String[] args) {
Student a1=new Student();
Scanner rd=new Scanner(System.in);
System.out.println("请输入第一位同学的姓名:");
a1.name=rd.next();
System.out.println("请输入第一位同学的性别:");
a1.sex=rd.next();
System.out.println("请输入第一位同学的年龄:");
a1.age=rd.nextInt();
for(int i=0;i<5;i++){
System.out.println("请输入第一位同学的第"+(i+1)+"门课程成绩");
a1.add[i]=rd.nextInt();
}
a1.myprint();
a1.average();
a1.print2();
Student a2=new Student();
Scanner rf=new Scanner(System.in);
System.out.println("请输入第二位同学的姓名:");
a2.name=rf.next();
System.out.println("请输入第二位同学的性别:");
a2.sex=rf.next();
System.out.println("请输入第二位同学的年龄:");
a2.age=rf.nextInt();
for(int i=0;i<5;i++){
System.out.println("请输入第二位同学的第"+(i+1)+"门课程成绩");
a2.add[i]=rf.nextInt();
}
a2.myprint();
a2.average();
a2.print2();
}
1.编写“借书卡”类及其测试类。
6.1 “借书卡”类
² 属性:账号、持卡人姓名、身份证号码、地址、已借书数、可借书数、本次借书数、本次还书数
² 方法一:借书,显示本次借书数和可借书数
² 方法二:还书,显示本次还书数和可借书数
6.2 测试类
² 本次借书数 和 本次还书数,从键盘输入
代码:
package 实训课3;
public class jieshuka {
String id;
String name;
String number;
String add;
int yijie;
int kejie;
int benjie;
int benhuan;
int kehuan;
int bejie;
public jieshuka(String id, String name, String number, String add,int kejie,int kehuan) {
this.id=id;
this.name=name;
this.number=number;
this.add=add;
this.kejie=kejie;
this.kehuan=kehuan;
}
public void jieshu() {
System.out.println("此同学本次借书数:"+benjie);
System.out.println("此同学可借书数:"+kejie);
}
public void huanshu() {
System.out.println("此同学本次还书数:"+benhuan);
System.out.println("此同学可借书数:"+kejie);
}
}
测试类:
package 实训课3;
import java.util.Scanner;
public class Testjieshuka {
public static void main(String[] args) {
jieshuka a1=new jieshuka("201801420338","颜俊杰","43042220001121。。。。","湖南信息学院",5,5);
Scanner rd=new Scanner(System.in);
System.out.print("请输入此同学本次借书数:");
a1.benjie=rd.nextInt();
a1.kejie=5-a1.benjie;
if(a1.benjie>5) {
System.out.print("借书数目不正常!");
}
else {
a1.jieshu();
}
System.out.print("请输入此同学本次还书数:");
a1.benhuan=rd.nextInt();
a1.kejie=a1.benhuan+a1.kejie;
if(a1.benhuan>5) {
System.out.print("借书数目不正常!");
}
else {
a1.huanshu();
}
}
}
运行结果:
2.编写“电费管理类”及其测试类。
7.1 “电费管理”类
² 属性:上月电表读数、本月电表读数
² 方法一:显示上月、本月电表读数
² 方法二:计算本月用电数
² 方法三:显示本月用电数
² 方法四:假设每度电的价格为1.2元,计算并显示本月电费
7.2 测试类
² 上月电表读数、本月电表读数,从键盘输入
代码:
package 实训课3;
public class dianfeiguanli {
double shangyue;
double benyue;
public void chakan() {
System.out.println("上个月的电表读数为:"+shangyue);
System.out.println("本月电表读数为:"+benyue);
}
public double jishuan() {
double a;
a=benyue-shangyue;
return a;
}
public void xianshi() {
System.out.println("本月用电数为:"+jishuan());
}
public void dianfei() {
double b;
b=jishuan()*1.2;
System.out.println("本月电费为:"+b);
}
}
测试类:
package 实训课3;
import java.util.Scanner;
public class Testdianfeiguanli {
public static void main(String[] args) {
dianfeiguanli x1=new dianfeiguanli();
Scanner rd=new Scanner(System.in);
System.out.print("请输入上月电表读数:");
x1.shangyue=rd.nextDouble();
System.out.print("请输入本月电表读数数:");
x1.benyue=rd.nextDouble();
x1.chakan();
x1.jishuan();
x1.xianshi();
x1.dianfei();
}
}
运行结果:
3.编写“四则运算类”及其测试类。
8.1 应用场景
² 计算器。能实现简单的四则运算,要求:只进行一次运算。
8.1 “四则运算”类
² 属性:操作数一、操作数二、操作符
² 方法一:对两个操作数做加运算
² 方法二:对两个操作数做减运算
² 方法三:对两个操作数做乘运算
² 方法四:对两个操作数做除运算
8.2 测试类
² 从键盘输入两个操作数和一个操作符,计算之后,输出运算结果。
代码:
package 实训课3;
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 实训课3;
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();
}
}
运行结果:
4.编写“用户”类及其测试类。
9.1 应用场景
² 大多数的软件都需要“用户管理功能”,需要创建“用户类”。此程序实现了简易的“登录”功能,即验证用户名和密码是否正确。
9.2“用户”类:
² 属性:用户名、密码
² 方法1:查找用户名是否存在(请将已注册的用户信息保存在数组中),用户存在返回true,不存在返回false
² 方法2:验证密码是否正确,正确返回true,不正确返回false
9.3 测试类
² 从键盘输入用户名和密码
² 用户名、密码均正确,在控制台输出“登录成功”
² 用户名不存在,在控制台输出“用户名不存在”
² 密码不正确,在控制台输出“密码不正确”
package 实训课3;
public class yonghu {
final int n=10;
int a[]=new int[n];
String mima;
public boolean chazhao() {
int b[]= {1,2,3,4,5,6,7,8,9,10};//定义b[]为已注册的用户信息
int s=0;
for(int i=0;i<n;i++) {
if(a[i]!=b[i]) {
s=1;
}
}
if(s==0) {
return true;
}
return false;
}
public boolean yanzheng() {
String c= "123456";//定义c为已注册的用户密码
if(c.equals(mima)) {
return true;
}
return false;
}
}
测试类:
package 实训课3;
import java.util.Scanner;
public class Testyonghu {
final static int n=10;
public static void main(String[] args) {
yonghu x1=new yonghu();
Scanner rd=new Scanner(System.in);
System.out.print("请输入用户名(用户名中每个数字用空格隔开)");
for(int i=0;i<n;i++) {
x1.a[i]=rd.nextInt();
}
System.out.print("请输入密码:");
x1.mima=rd.next();
if(x1.chazhao()&&x1.yanzheng()) {
System.out.print("登录成功");
}
if(x1.chazhao()) {
}
else System.out.print("用户名不存在");
if(x1.yanzheng()) {
}
else System.out.print("密码不正确");
}
}
运行结果: