汇编做网站,wordpress关闭文章评论,企业网站自己怎么做,我要找人做网站的主页文章目录1.第一题1.1题目1.2思路1.3解题2.第二题2.1题目2.2涉及的相关知识2.3思路2.4解题1.第一题
1.1题目
描述#xff1a; 给定一个二维数组board#xff0c;代表棋盘#xff0c;其中元素为1的代表是当前玩家的棋子#xff0c;0表示没有棋子#xff0c;-1代表是对方玩…
文章目录1.第一题1.1题目1.2思路1.3解题2.第二题2.1题目2.2涉及的相关知识2.3思路2.4解题1.第一题
1.1题目
描述 给定一个二维数组board代表棋盘其中元素为1的代表是当前玩家的棋子0表示没有棋子-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜及井字棋规则返回当前玩家是否胜出。
1.2思路
检查每一行的个数是否可以取胜检查每一列的个数是否可以取胜检查主对角线的个数是否可以取胜检查副对角线的个数是否可以取胜
1.3解题
import java.util.*;
public class Board {public boolean checkWon(int[][] board) {int N board.length;int sum 0;//检查每一行的个数是否可以获胜for (int i 0; i N; i) {//计算完每一行后sum要清零sum 0;for (int j 0; j N; j) {sum board[i][j];}if (sum N) {return true;}}//检查每一列的个数是否可以获胜for (int i 0; i N; i) {//计算完每一列后sum要清零sum 0;for (int j 0; j N; j) {sum board[j][i];}if (sum N) {return true;}}//检查主对角线的个数是否可以获胜sum 0;for (int i 0; i N; i) {sum board[i][i];if (sum N) {return true;}}//检查副对角线的个数是否可以获胜sum 0;for (int i 0; i N; i) {sum board[i][N - i - 1];if (sum N) {return true;}}//以上四个方式都不可以return false;}
}2.第二题
2.1题目
描述 密码按如下规则进行计分并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 密码里的字母全都是小大写字母 20 分: 密码里的字母符合”大小写混合“ 三、数字: 0 分: 没有数字 10 分: 1 个数字 20 分: 大于1 个数字 四、符号: 0 分: 没有符号 10 分: 1 个符号 25 分: 大于1 个符号 五、奖励只能选符合最多的那一种奖励: 2 分: 字母和数字 3 分: 字母、数字和符号 5 分: 大小写字母、数字和符号 最后的评分标准: 大于等于 90: 非常安全 大于等于 80: 安全Secure 大于等于 70: 非常强 大于等于 60: 强Strong 大于等于 50: 一般Average 大于等于 25: 弱Weak 大于等于 0: 非常弱Very_Weak 对应输出为 VERY_SECURE SECURE VERY_STRONG STRONG AVERAGE WEAK VERY_WEAK 请根据输入的密码字符串进行安全评定 输入描述 输入一个string的密码 输出描述 输出密码等级
2.2涉及的相关知识 熟悉阿斯克码表 大写字母的阿斯克码值为65-90 小写字母的阿斯克码值为97-122 数字的阿斯克码值为48-57 2.3思路
分别统计数字字母符号的得分然后加上奖励的得分最后进行评定
2.4解题
import java.util.Scanner;
public class Main {//计算密码长度的得分public static int getLen(String str) {if (str.length() 4) {return 5;} else if (str.length() 8) {return 25;} else {return 10;}}//计算字母的得分public static int getChar(String str) {int big 0;int small 0;for (int i 0; i str.length(); i) {if (str.charAt(i) 65 str.charAt(i) 90) {big;} else if (str.charAt(i) 97 str.charAt(i) 122) {small;}}if (big 0 small 0) {return 0;} else if (big 0 small 0) {return 20;} else {return 10;}}//计算数字的得分public static int getNum(String str) {int num 0;for (int i 0; i str.length(); i) {if (str.charAt(i) - 0 0 str.charAt(i) - 0 9) {num;}}if (num 1) {return 10;} else if (num 1) {return 20;} else {return 0;}}//计算符号得分public static int getSys(String str) {int num 0;for (int i 0; i str.length(); i) {if (!(str.charAt(i) 65 str.charAt(i) 90) !(str.charAt(i) 97 str.charAt(i) 122) !(str.charAt(i) - 0 0 str.charAt(i) - 0 9) ) {num;}}if (num 1) {return 10;} else if (num 1) {return 25;} else {return 0;}}public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.nextLine();int sum1 getLen(str);int sum2 getChar(str);int sum3 getNum(str);int sum4 getSys(str);int sum 0;//统计最终得分if(sum2 20 sum3 10 sum4 10){sum sum1 sum2 sum3 sum4 5;}else if(sum2 10 sum3 10 sum4 10){sum sum1 sum2 sum3 sum4 3;}else if(sum2 10 sum3 10){sum sum1 sum2 sum3 sum4 2;}else {sum sum1 sum2 sum3 sum4;}//输出最终结果if(sum 90){System.out.println(VERY_SECURE);}else if(sum 80){System.out.println(SECURE);}else if(sum 70){System.out.println(VERY_STRONG);}else if(sum 60){System.out.println(STRONG);}else if(sum 50){System.out.println(AVERAGE);}else if(sum 25){System.out.println(WEAK);}else {System.out.println(VERY_WEAK);}}
}