光阴易逝,时光荏苒,不知不觉中我的大学生活已经过去了两个多月,来到了第十二周,在这一周的生活中,我成长了很多,从周一开始,我开始了java集合的学习,这一周我了解了java集合的大框,以及它和泛型的关系,在学习java集合的过程中是,我还加强了自己对于java面向对象的理解。
我的练习如下:
定义一个银行账户类account,其包含成员如下。
成员变量:
户名
余额
构造方法:
构造方法1,输出“创建账户”;
构造方法2,调用构造方法1,然后通过形式参数为成员变量户名、余额初始化。
成员方法:
存款功能save,存入mon元到账户中;
取款功能retrive,从账户中取款mon元,如果余额不足,输出“余额不足”,否则,修改余额,输出取款**元。
显示余额show,按下列样式显示。
账户: 1111111111
余额:****元
import java.util.Scanner;
class account {
private String name;
private String password;
double balance;
public account() {
System.out.println("创建账户:");
}
public account(String name,double balance,String password) {
this();
this.name=name;
this.balance=balance;
this.password=password;
System.out.println(name);
}
double save(double money1) {
System.out.println("存款:"+money1+"元");
this.balance=balance+money1;
return balance;
}
boolean retrive( double money2) {
if(balance<money2) {
System.out.println("余额不足,请重新输入取款额度:");
return false;
}else {
this.balance=balance-money2;
System.out.println("取款"+money2+"元");
return true;
}
}
public void show() {
System.out.println("账户:"+name+"\n"+"密码:"+password+"\n"+"余额:"+balance);
}
public boolean login(String name,String password) {
if(name.equals("shenyan") && password.equals("12345")) {
System.out.println("登录成功");
return true;
}
return false;
}
}
public class Homework1{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入你的账户名:");
String name = scan.next();
System.out.println("请输入你的密码:");
String password=scan.next();
account ac=new account(name,20000,password);
while(!ac.login(name, password)){
System.out.println("用户名或密码错误,请重新输入账号:");
name=scan.next();
System.out.println("用户名或密码错误,请重新输入密码:");
password=scan.next();
}
System.out.println("请输入存款额度:");
double money1 = scan.nextDouble();
System.out.println("请输入取款额度:");
double money2 = scan.nextDouble();
ac.save(money1);
while(!ac.retrive(money2)) {
money2 = scan.nextDouble();
}
ac.show();
}
}
定义一个教师类,包含姓名、性别、职称、年龄、基本工资
定义两个构造方法:
(1) 采用姓名、性别、年龄作为参数
(2) 将姓名、性别、职称、年龄、基本工资作为参数进行初始化,
普通方法:
(1) 输出教师的姓名、年龄、职称
(2) 输出教师的平均基本工资
(3) 输出教师的平均年龄
class Teachers{
String name,sex,position;
int age;
double salary;
public Teachers(){ }
public Teachers(String name,String sex,int age) {
this.name=name;
this.sex=sex;
this.age=age;
}
public Teachers(String name,String sex,int age,String position,double salary){
this(name,sex,age);
this.position=position;
this.salary=salary;
}
public void printname(Teachers...teachers) {
for(int a=0;a<teachers.length;a++) {
System.out.println("姓名:"+teachers[a].name);
}
}
public void printage(Teachers...teachers) {
int sum=0;
for(int a=0;a<teachers.length;a++) {
sum += teachers[a].age;
} System.out.println("平均年龄:"+sum/teachers.length);
}
public void printsalary(Teachers...teachers) {
int sum=0;
for(int a=0;a<teachers.length;a++) {
sum += teachers[a].salary;
System.out.println("平均工资"+sum/teachers.length);
}
}
}
public class homework02 {
public static void main(String[] args) {
Teachers tea1=new Teachers("梅兹1","女",25,"语文老师",7500);
Teachers tea2=new Teachers("梅兹2","女",28,"语文老师",7000);
Teachers tea3=new Teachers("梅兹3","女",29,"语文老师",6000);
new Teachers().printname(tea1,tea2,tea3);
new Teachers().printage(tea1,tea2,tea3);
new Teachers().printsalary(tea1,tea2,tea3);
}
}
在复习面向对象的基础上,我又用暴力破解的方法研究了发现杯考试第二题,
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int k=sc.nextInt();
boolean b=true;
int[] a=new int[N];
for(int i=(int)Math.pow(10, N-1);i<(int)Math.pow(10, N)-1;i++) {
for(int m=0;m<N;m++) {
a[m]=String.valueOf(i).toCharArray()[m]-'0';
}
for(int w=0;w<a.length;w++) {
if(a[w]>k) {
b=false;
break;
}
if(w!=0&&w!=a.length-1) {
if((a[w]*a[w+1])>k&&(a[w]*a[w-1])>k) {
b=false;
break;
}
}
else if(w==0) {
if((a[w]*a[w+1])>k){
b=false;
break;
}
}
else if(w==a.length-1) {
if((a[w]*a[w-1])>k) {
b=false;
break;
}
}
}
if(b) {
System.out.println(i);
}
b=true;
}
}
}
但该程序虽然能够达到目的,但仍有较大的局限性,在蓝桥杯系统上运行会超出运行时间。
周五的时候我又在形式与政策课上给同学们讲解了2018年第五届乌镇世界互联网大会,使同学们了解了更多关于互联网方面的新发展。
这一周,虽然很忙,但收获颇多,对Java面向对象的思想的理解有了提高,对java的算法也有了更深层次的理解,在以后的过程中,我定更加努力,去创造自己更美好的明天!!!
网友评论