java第九天关于面向对象作业

作业1
棋盘进阶(力扣63题)

package day08;

public class Test03 {
	static int[][] obstacleGrid= {{0,0,0},{0,1,0},{0,0,0}};
	static int n = obstacleGrid.length;
	static int m = obstacleGrid[0].length;
	public static void main(String[] args) {
        int[][] dp = new int[n][m];
		fun(obstacleGrid,dp);
	}

	private static void fun(int[][] obstacleGrid, int[][] dp) {
		//dp[0][0]这里可能有障碍物
		dp[0][0]=(obstacleGrid[0][0]==1)?0:1;
		//处理第一列
		for(int i=1;i<n;i++) {
			if(obstacleGrid[i][0]==1||dp[i-1][0]==0) {
				dp[i][0]=0;
			}else {
				dp[i][0]=1;
			}
		}
		//处理第一行
		for(int j=1;j<m;j++) {
			if(obstacleGrid[0][j]==1||dp[0][j-1]==0) {
				dp[0][j]=0;
			}else {
				dp[0][j]=1;
			}
		}
		//循环遍历赋值 当前=上边+左边 遇到障碍物赋值为0
		for(int i=1;i<n;i++) {
			for(int j=1;j<m;j++) {
				if(obstacleGrid[i][j]==1) {
					dp[i][j]=0;
				}else {
					dp[i][j]=dp[i-1][j]+dp[i][j-1];
				}
			}
		}
		//输出数组
		for(int i=0;i<dp.length;i++) {
			for(int j=0;j<dp[0].length;j++) {
				System.out.print(dp[i][j]+" ");
			}
			System.out.println();
		}
		System.out.println(dp[n-1][m-1]);
	}
}

运行结果
在这里插入图片描述

作业2
定义一个Admin类,该类存在,username、password属性,实现一个控制台版的用户注册登录案例将注册的用户写在一个数组中。

package com.haiqing.dlzc;

import java.util.Scanner;

public class Test {
	public static Admin[] users=new Admin[10];
	public static int opacity=0;
	static Scanner sc=new Scanner(System.in);
	public static void main(String[] args) {
		
		while(true) {
			showMessage();
			int select=sc.nextInt();
			if(select==1) {
				dl();
			}else if(select==2) {
				zc();
			}else if(select==3) {
				System.exit(0);
			}else {
				System.out.println("输入错误,请重新输入");
			}
		}
	}

	private static void dl() {
		while(true) {
			System.out.print("请输入用户名:");
			String username=sc.next();
			System.out.print("请输入密码:");
			String password=sc.next();
			boolean flag=isTrue1(username,password);
			if(flag) {
				System.out.println("登陆成功");
				break;
			}
		}
	}

	private static boolean isTrue1(String username, String password) {
		if(!isExist(username)) {
			System.out.println("用户名不存在,请重新登陆");
			return false;
		}
		for (Admin admin : users) {
			if(admin!=null) {
				if(!(admin.getUsername().equals(username)&&admin.getPassword().equals(password))) {
					System.out.println("密码错误,请重新登陆");
					return false;
				}
			}
		}
		return true;
	}

	private static boolean isExist(String username) {
		for (Admin admin : users) {
			if(admin!=null) {
				if(admin.getUsername().equals(username)) {
					return true;
				}
			}
		}
		return false;
	}

	private static void zc() {
		while (true) {
			System.out.print("请输入用户名称:");
			String username = sc.next();
			System.out.print("请输入用户密码:");
			String password = sc.next();
			if (isTrue(username, password)) {
				//构件对象
				Admin user=new Admin();
				user.setUsername(username);
				user.setPassword(password);
				//添加对象
				users[opacity++]=user;
				System.out.println("恭喜你,用户注册成功");
				show();
				break;
			} else {
				continue;
			} 
		}
		
	}

	private static void show() {
		for (Admin admin : users) {
			if(admin!=null) {
				System.out.println(admin.getUsername()+"------"+admin.getPassword());
			}
		}
	}

	private static boolean isTrue(String username, String password) {
		if(username==null||username.trim().equals("")) {
			System.out.println("对不起,用户名不能为空");
			return false;
		}
		if(password==null||password.trim().equals("")) {
			System.out.println("对不起,用户名不能为空");
			return false;
		}
		for (Admin admin : users) {
			if(admin!=null) {
				if(admin.getUsername().equals(username)) {
					System.out.println("对不起,该用户名已经存在,请重新注册");
					return false;
				}
			}
		}
		if(password.length()<6) {
			System.out.println("密码长度不能少于6位");
			return false;
		}
		return true;
	}

	private static void showMessage() {
		System.out.println("*~**~**~**~**~**~**~**~**~**~**~**~**~**~*");
		System.out.println("\t\t1.登陆");
		System.out.println("\t\t2.注册");
		System.out.println("\t\t3.退出");
		System.out.println("*~**~**~**~**~**~**~**~**~**~**~**~**~**~*");
		System.out.print("请输入您的选择:");
	}

}

运行结果
在这里插入图片描述

作业3
定义一个猫类(Cat),该猫有名字、性别、年龄、主人、皮毛

package com.haiqing.dlzc;
//猫类
public class Cat {
	public String name;//名字
	public String sex;//性别
	public int age;//年龄
	public String master;//主人
	public String mao;//皮毛
}

作业4
Stack的实现

package com.haiqing.dlzc;

public class Stack {
	public int[] data=new int[10];
	public int top=0;
	public int capacity=10;
	public Stack() {
	}
	public Stack(int capacity) {
		this.capacity = capacity;
	}
	public void push(int e) {
		if(capacity==top) {
			System.out.println("扩容");
		}else {
			data[top++]=e;
		}
	}
	public int pop() {
		if(!isEmpty())
			return data[--top];
		return -1;
	}
	public int peek() {
		if(!isEmpty()) {
			return data[top-1];
		}
		return -1;
	}
	private boolean isEmpty() {
		if(top==0)
			return true;
		return false;
	}
	public void clear() {
		top=0;
	}
	public int size() {
		return top;
	}
	public String toString() {
		String str="";
		for (int i : data) {
			str+=i+",";
		}
		return "["+str+"]";
	}
}

运行结果

package com.haiqing.dlzc;

public class TestStack {

	public static void main(String[] args) {
		Stack stack=new Stack();
		stack.push(123);
		stack.push(222);
		stack.push(333);
		stack.push(444);
		stack.push(555);
		System.out.println(stack);
		System.out.println(stack.peek());
		stack.pop();
		stack.pop();
		System.out.println(stack);
		System.out.println(stack.peek());
		System.out.println(stack.size());
		stack.clear();
		System.out.println(stack.size());
	}

}



在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值