作业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());
}
}