OO第一次博客作业

news/2024/5/17 17:33:17

OO第一次博客作业

目录

1.前言
2.设计与分析
3.采坑心得
4.改进建议
5.总结

1.前言

正则表达式是java语言中一种非常重要的语言,他的重要性主要体现在以下方面:
1.高效的文本处理:正则表达式提供了一种高效的方式来处理文本数据。它可以快速地进行字符串的搜索、匹配、替换和分割等操作,这在处理大量数据时尤为有用。

2.强大的模式匹配能力:正则表达式能够根据定义的模式匹配几乎任何类型的字符串。这种灵活性使得它非常适合于验证输入数据格式,如邮箱地址、电话号码、日期等。

3.简化代码逻辑:使用正则表达式可以简化复杂的字符串处理逻辑,使代码更加简洁、可读性强,同时也更容易维护。

4.提高开发效率:通过正则表达式,开发者可以快速实现复杂的字符串操作,而不需要编写大量的条件判断和循环逻辑,从而大大提高开发效率。

5.灵活性和可扩展性:正则表达式具有很强的灵活性和可扩展性,可以根据需求轻松调整匹配模式,适应不同的应用场景。

6.跨平台和语言兼容性:虽然具体的语法可能略有差异,但正则表达式的核心概念在大多数编程语言中都是通用的。这意味着掌握了Java中的正则表达式,在其他语言中也能够快速上手和应用。

这三次pta作业,无一不体现出正则表达式对解决问题的便利。当然,要想做好这三次作业,需求与设计也是必不可少的。

2.设计与分析

1.第一次pta作业:
设计思路:设计试卷,答卷和题目三个类,并加一个测试类用来判断true和false。

代码:

class Paper{

 private int num;private String numbering;private String question;private String answer;public Paper(){}public Paper(int num,String numbering,String question,String answer){**this.num = num;this.numbering = numbering;this.question = question;this.answer = answer;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getNumbering() {return numbering;}public void setNumbering(String numbering) {this.numbering = numbering;}public String getQuestion() {return question;}public void setQuestion(String question) {this.question = question;}public void setAnswer(String answer) {this.answer = answer;}public String getAnswer() {return answer;}public String toString(String question,String answer){return question+"~"+answer;}

class Standard{

  private String standard;public Standard(){}public Standard(String standard){this.standard = standard;}public String getStandard() {return standard;}public void setStandard(String standard) {this.standard = standard;}

class Test{

  private String answer;private String standard;public Test(){}public Test(String answer,String standard){this.answer = answer;this.standard = standard;}public String getAnswer() {return answer;}public void setAnswer(String answer) {this.answer = answer;}public void setStandard(String standard) {this.standard = standard;}public String getStandard() {return standard;}public String test(String answer,String standard){if (answer.equals(standard)) {return "true";} else {return "false";}}

public class Main {

  public static void main(String[] args) {Scanner scan = new Scanner(System.in);int num = scan.nextInt();scan.nextLine();String[] numbering = new String[num];String[] question = new String[num];String[] answer = new String[num];String[] standard = new String[num];Paper[] paper = new Paper[num];for (int i = 0; i < paper.length; i++) {paper[i] = new Paper();}Standard[] standards = new Standard[num];Test[] tests = new Test[num];for (int i = 0; i < tests.length; i++) {tests[i] = new Test();}String[] str1 = new String[num];String[] str2 = new String[num];String[] str3 = new String[num];String[] str4 = new String[num];for (int i = 0; i < num; i++) {str1[i] = scan.nextLine();Pattern pattern1 = Pattern.compile("#N:(\\s+)?(\\S+)(\\s+)?#Q:(\\s+)?(.+)(\\s+)?#A:(\\s+)?(\\S+)(\\s+)?");Matcher matcher1 = pattern1.matcher(str1[i]);while (matcher1.find()){numbering[i] = matcher1.group(2);int sum = Integer.parseInt(numbering[i]);question[sum-1] = matcher1.group(5).trim();standard[sum-1] = matcher1.group(8);}}for (int i = 0; i < num; i++) {answer[i] = "";str2[i] = scan.next();Pattern pattern2 = Pattern.compile("#A:(\\s+)?(\\S+)(\\s+)?");Matcher matcher2 = pattern2.matcher(str2[i]);while (matcher2.find()) {answer[i] = matcher2.group(2);}}String end = scan.nextLine();for(int i = 0; i < num ; i++){paper[i] = new Paper(num,numbering[i],question[i],answer[i]);System.out.println(question[i]+"~"+answer[i]);}for(int i = 0; i < num; i++){tests[i] = new Test(answer[i],standard[i]);str4[i] = tests[i].test(answer[i], standard[i]);if(i < num - 1){System.out.print(str4[i]+" ");}else{System.out.print(str4[i]);}}}

分析:第一次作业中,正则表达式还运用的不熟练,类设计也不到位,但由于本题较简单,还是靠堆时间写完了并拿到了100.
2.第二次pta作业:
设计思路:在设计试卷、答卷和题目的基础上,添加多个试卷、答卷的方法以及对应题目的分数和所得分数。

代码:

class Question{

private int numbering;
private String question;
private String standard;public Question(){}
public Question(int numbering,String question,String standard){this.numbering = numbering;this.question = question;this.standard = standard;
}public String getStandard() {return standard;
}public void setStandard(String standard) {this.standard = standard;
}public void setQuestion(String question) {this.question = question;
}public String getQuestion() {return question;
}public void setNumbering(int numbering) {this.numbering = numbering;
}public int getNumbering() {return numbering;
}

class PaperNum{

private int papernum;public PaperNum(){}
public PaperNum(int papernum){this.papernum = papernum;
}public void setPapernum(int papernum) {this.papernum = papernum;
}public int getPapernum() {return papernum;
}

class testPaper{

private int[] numbering;
private int[] grade;public testPaper(){}
public testPaper(int[] numbering,int[] grade){this.numbering = numbering;this.grade = grade;
}public void setGrade(int[] grade) {this.grade = grade;
}public void setNumbering(int[] numbering) {this.numbering = numbering;
}public int[] getGrade() {return grade;
}
public int getGrade1(int i) {return grade[i];
}public int[] getNumbering() {return numbering;
}
public int getNumbering1(int i) {return numbering[i];
}
public int getTotal(int size,int[] grade){int total = 0;for(int i = 0; i <= size;i++){total+=grade[i];}return total;
}

class answerPaper{

private int answernum;
private String[] answer;public answerPaper(){}
public answerPaper(int answernum,String[] answer){this.answernum = answernum;this.answer = answer;
}public void setAnswer(String[] answer) {this.answer = answer;
}public String[] getAnswer(int size) {return answer;
}
public String getAnswer1(int i) {return answer[i];
}public int getAnswernum() {return answernum;
}public void setAnswernum(int answernum) {this.answernum = answernum;
}

public class Main {

public static void main(String[] args) {Scanner scan = new Scanner(System.in);List<testPaper> papers = new ArrayList<>();List<answerPaper> answers = new ArrayList<>();List<PaperNum> papernums = new ArrayList<>();List<String> leftNumbers = new ArrayList<>();List<String> rightNumbers = new ArrayList<>();Question[] questions = new Question[100];PaperNum[] paperNums = new PaperNum[100];testPaper[] testPapers = new testPaper[100];answerPaper[] answerPapers = new answerPaper[100];int num1 = 0;int num2 = 0;int num3 = 0;int num4 = 0;int numbering = 0;int total = 0;String[] question = new String[100];String[] standard = new String[100];int answernum = 0;String[] answer = new String[100];int papernum = 0;int[] grade = new int[100];int[] gets = new int[100];int[] numberings = new int[100];int z = 0;int get = 0;for (int t = 0; ; t++) {String line = scan.nextLine();if (line.equals("end")) {break;}Pattern pattern1 = Pattern.compile("#N:(\\s+)?(\\d+)(\\s+)?#Q:(\\s+)?(.+)(\\s+)?#A:(\\s+)?(\\S+)(\\s+)?");Matcher matcher1 = pattern1.matcher(line);Pattern pattern2 = Pattern.compile("#S:(\\d+)((\\s+)#A:(\\S+))*");Matcher matcher2 = pattern2.matcher(line);Pattern pattern3 = Pattern.compile("#T: *(\\d+)");Matcher matcher3 = pattern3.matcher(line);Pattern pattern4 = Pattern.compile("((\\d+)-(\\d+))");Matcher matcher4 = pattern4.matcher(line);while (matcher1.find()) {numbering = Integer.parseInt(matcher1.group(2));question[numbering] = matcher1.group(5).trim();standard[numbering] = matcher1.group(8);num1++;}while (matcher2.find()) {line = line.replaceAll("#S:|#A:", "");answer = line.split("\\s+");answernum = Integer.parseInt(answer[0]);for (int j = 1; j < answer.length; j++) {answer[j - 1] = answer[j];if(j == answer.length-1){answer[j] = "";}}z = answer.length - 1;answerPapers[num2] = new answerPaper(answernum, answer);num2++;}while (matcher3.find()) {papernum = Integer.parseInt(matcher3.group(1));paperNums[num3] = new PaperNum(papernum);num3++;}while (matcher4.find()) {numbering = Integer.parseInt(matcher4.group(2));numberings[num4] = numbering;grade[num4] = Integer.parseInt(matcher4.group(3));testPapers[num4] = new testPaper(numberings, grade);num4++;}}for (int i = 0; i < num3; i++) {total += testPapers[i].getTotal(num4, testPapers[i].getGrade());if (total != 100) {System.out.println("alert: full score of test paper" + paperNums[i].getPapernum() + " is not 100 points");}}for (int i = 0; i < num2; i++) {for (int j = 0; j < z; j++) {if (answerPapers[i].getAnswer1(j).equals(standard[numberings[j]])) {System.out.println(question[numberings[j]] + "~" + answerPapers[i].getAnswer1(j) + "~true");gets[j] = testPapers[i].getGrade1(j);} else {System.out.println(question[numberings[j]] + "~" + answerPapers[i].getAnswer1(j) + "~false");gets[j] = 0;}get += gets[j];}for (int l = 0; l < z; l++) {if (l < z - 1) {System.out.print(gets[l] + " ");}if (l == z - 1) {System.out.print(gets[l]);}}System.out.println("~" + get);get = 0;}int x = 0;for(int i = 0; i < num3; i++){for(int j = 0;j < num2;j++){if(paperNums[j].getPapernum() == answerPapers[i].getAnswernum()){x = 1;break;}if(x == 1){break;}}}if(x == 0){System.out.println("The test paper number does not exist");}
}

分析:在第二次作业中,没有搞清楚需求,也没有弄好设计,导致写出的代码思路混乱,很难改动,再重新写了一遍才达到了及格分数
3.第三次pta作业:
设计思路:在第二次作业的基础上,增加学生信息和删除题目的信息,然后设计讨论是否有此学生已经是否删除题目的情况。

代码:

class Question{

private int numbering;
private String question;
private String standard;public Question(){}
public Question(int numbering,String question,String standard){this.numbering = numbering;this.question = question;this.standard = standard;
}public String getStandard() {return standard;
}public void setStandard(String standard) {this.standard = standard;
}public void setQuestion(String question) {this.question = question;
}public String getQuestion() {return question;
}public void setNumbering(int numbering) {this.numbering = numbering;
}public int getNumbering() {return numbering;
}

class TestPaper{

private int papernum;
private int[] numberings;
private int[] grade;
private int T;
public TestPaper(){}
public TestPaper(int papernum,int[] numberings,int[] grade,int T){this.papernum = papernum;this.grade = grade;this.numberings = numberings;this.T = T;
}public void setNumbering(int[] numberings) {this.numberings = numberings;
}public int[] getNumberings() {return numberings;
}
public int getNumbering1(int i){return this.numberings[i];
}public int getPapernum() {return papernum;
}public void setPapernum(int papernum) {this.papernum = papernum;
}public void setGrade(int[] grade) {this.grade = grade;
}
public void setGrade1(int i,int grade1) {grade[i] = grade1;
}public int[] getGrade() {return grade;
}
public int getGrade1(int i){return grade[i];
}public int getT() {return T;
}public void setT(int T) {this.T =T;
}

class Student{

private String[] studentnum;
private String[] name;public Student(){}
public Student(String[] studentnum,String[] name){this.studentnum = studentnum;this.name = name;
}public void setStudentnum(String[] studentnum) {this.studentnum = studentnum;
}public void setName(String[] name) {this.name = name;
}public String[] getStudentnum() {return studentnum;
}public String[] getName() {return name;
}
public String getStudentnum1(int i) {return studentnum[i];
}public String getName1(int i) {return name[i];
}

class AnswerPaper{

private int answernum;
private String studentnum;
private int[] numbering;
private String[] answer;
private int A;public AnswerPaper(){}
public AnswerPaper(int answernum,String studentnum,int[] numbering,String[] answer,int A){this.answer = answer;this.numbering = numbering;this.answernum = answernum;this.studentnum = studentnum;this.A = A;
}public void setStudentnum(String studentnum) {this.studentnum = studentnum;
}public int[] getNumbering() {return numbering;
}public void setNumbering(int[] numbering) {this.numbering = numbering;
}public void setAnswer(String[] answer) {this.answer = answer;
}public String[] getAnswer() {return answer;
}public String getStudentnum() {return studentnum;
}public int getAnswernum() {return answernum;
}public void setAnswernum(int answernum) {this.answernum = answernum;
}
public String getAnswer1(int i){return answer[i];
}
public int getNumbering1(int i){return numbering[i];
}public int getA() {return A;
}public void setA(int A) {this.A = A;
}

class Delete{

private int numbering;public Delete(){}
public Delete(int numbering){this.numbering = numbering;
}public void setNumbering(int numbering) {this.numbering = numbering;
}public int getNumbering() {return numbering;
}

public class Main {

public static int test(String standard,String answer){if(standard.equals(answer)){return 1;}else {return 0;}
}
public static int delete(int i,int j){if(i == j){return 1;}else {return 0;}
}
public static void main(String[] args){Scanner scan = new Scanner(System.in);Question[] questions = new Question[100];TestPaper[] testPapers = new TestPaper[100];Student[] students = new Student[100];AnswerPaper[] answerPapers = new AnswerPaper[100];Delete[] deletes = new Delete[100];int num1 = 0;int num2 = 0;int num3 = 0;int num4 = 0;int num5 = 0;int numbering = 0;String question = "";String standard = "";int papernum = 0;int[] numberings = new int[100];int[] numberings1 = new int[100];int[] grade = new int[100];String[] studentnum = new String[100];String[] name = new String[100];int answernum = 0;String studentnums = "";String[] answer = new String[100];int total = 0;int get = 0;int gets[] = new int[100];int z = 0;int s = 0;int o = 0;int[] x = new int[100];//用于判断输入String[] wrong = new String[100];//用于导入错误字符串for(int t = 0;;t++){String line = scan.nextLine();Pattern pattern1 = Pattern.compile("#N:(\\s+)?(\\d+)(\\s+)?#Q:(\\s+)?(.+)(\\s+)?#A:(\\s+)?(\\S+)(\\s+)?");Matcher matcher1 = pattern1.matcher(line);Pattern pattern2 = Pattern.compile("#S:(\\d+)((\\s+)#A:(\\S+))*");Matcher matcher2 = pattern2.matcher(line);Pattern pattern3 = Pattern.compile("#T: *(\\d+)((\\s+)(\\d+)-(\\d+))*");Matcher matcher3 = pattern3.matcher(line);Pattern pattern4 = Pattern.compile("#X:((\\s+)?(\\S+)(\\s+)(\\S+))+");Matcher matcher4 = pattern4.matcher(line);Pattern pattern5 = Pattern.compile("#D:N-(\\d+)");Matcher matcher5 = pattern5.matcher(line);if(line.equals("end")){break;}if(matcher1.find()||matcher2.find()||matcher3.find()||matcher4.find()||matcher5.find()) {boolean containsN = line.contains("#N");boolean containsQ = line.contains("#Q");boolean containsA = line.contains("#A");if (containsN && containsQ && containsA) {line = line.replaceAll("#N:|#Q:|#A:", "");String[] str = line.split(" ");numbering = Integer.parseInt(str[0]);question = str[1];standard = str[2];questions[numbering - 1] = new Question(numbering, question, standard);//按题目序号存储x[num1] = 1;num1++;//题目数}if (line.contains("#T")) {line = line.replaceAll("#T:", "");String[] str = line.split(" ");papernum = Integer.parseInt(str[0]);z = str.length - 1;//试卷题目总数for (int i = 1; i < str.length; i++) {String[] str1 = str[i].split("-");numberings[i - 1] = Integer.parseInt(str1[0]);grade[numberings[i - 1]-1] = Integer.parseInt(str1[1]);//试卷题号按顺序存,分数按题号存}testPapers[papernum - 1] = new TestPaper(papernum, numberings, grade,z);//试卷按照试卷号存储,题目和分数按照所给顺序存储(numbering[0]是要输出的第一个题号)num2++;//试卷数}if (line.contains("#X:")) {line = line.replaceAll("#X:", "");String[] str = line.split("-");o = str.length;for (int i = 0; i < str.length; i++) {String[] str1 = str[i].split(" ");studentnum[i] = str1[0];name[i] = str1[1];//顺序赋学生信息}students[num3] = new Student(studentnum, name);//存学生信息num3++;}if (line.contains("#D:")) {line = line.replaceAll("#D:", "");line = line.replaceAll("N-", "");numbering = Integer.parseInt(line);deletes[num4] = new Delete(numbering);num4++;}if (line.contains("#S:")) {line = line.replaceAll("#S:|#A:", "");String[] str = line.split(" ");answernum = Integer.parseInt(str[0]);studentnums = str[1];s = str.length-2;//一套答卷的答题数for (int i = 2; i < str.length; i++) {String[] str1 = str[i].split("-");numberings1[i - 2] = Integer.parseInt(str1[0]);answer[numberings1[i - 2]-1] = str1[1];//答卷题号按顺序存,答案按序号存}answerPapers[num5] = new AnswerPaper(answernum, studentnums, numberings1, answer,s);num5++;//答卷数}}else {System.out.println("wrong format:"+line);}}if(num4 > 0){for(int i = 0; i < num2;i++){for (int j = 0;j < num4;j++){testPapers[i].setGrade1(deletes[j].getNumbering()-1,0);//将删除的题目的分数设置为0}}}for(int i = 0; i < num2;i++){for(int j = 0; j < z;j++){total += testPapers[i].getGrade1(j);}if(total != 100){System.out.println("alert: full score of test paper"+testPapers[i].getPapernum()+" is not 100 points");}}int p = 0;for(int i = 0; i < num5;i++) {for (int j = 0; j < num2; j++) {if (answerPapers[i].getAnswernum() == testPapers[j].getPapernum()){p = 1;}}}for(int i = 0; i < num5;i++){for (int j = 0; j < num2;j++){if(p == 0){System.out.println("The test paper number does not exist");}else {//答卷对应试卷for (int k = 0; k < testPapers[i].getT(); k++) {int q = 0;for (int k2 = 0; k2 < num1; k2++) {if (questions[k2].getNumbering() == testPapers[j].getNumbering1(k)) {q = 1;}if(q == 1){break;}}if (q == 0) {System.out.println("non-existent question~0");gets[k] = 0;}if (q == 1) {if(num4 > 0){for (int j1 = 0; j1 < num4; j1++) {if (testPapers[j].getNumbering1(k) == deletes[j1].getNumbering()) {System.out.println("the question " + testPapers[i].getNumbering1(k) + " invalid~0");gets[k] = 0;} else {if (answerPapers[i].getA() >= testPapers[j].getT()) {if (test(questions[testPapers[j].getNumbering1(k) - 1].getStandard(), answerPapers[i].getAnswer1(answerPapers[i].getNumbering1(k) - 1)) == 1) {//standard按照answer的编号输System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~true");gets[k] = testPapers[j].getGrade1(testPapers[j].getNumbering1(k) - 1);} else {System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~false");gets[k] = 0;}} else {for (int n = 0; n < answerPapers[i].getA(); n++) {if (test(questions[testPapers[j].getNumbering1(k) - 1].getStandard(), answerPapers[i].getAnswer1(answerPapers[i].getNumbering1(k) - 1)) == 1) {//standard按照answer的编号输System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~true");gets[k] = testPapers[j].getGrade1(testPapers[j].getNumbering1(k) - 1);} else {System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~false");gets[k] = 0;}}for (int m = answerPapers[i].getA(); m < testPapers[j].getT(); m++) {System.out.println("answer is null");gets[m] = 0;}}}get += gets[k];}}else {if (answerPapers[i].getA() >= testPapers[j].getT()) {if (test(questions[testPapers[j].getNumbering1(k) - 1].getStandard(), answerPapers[i].getAnswer1(answerPapers[i].getNumbering1(k) - 1)) == 1) {//standard按照answer的编号输System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~true");gets[k] = testPapers[j].getGrade1(testPapers[j].getNumbering1(k) - 1);} else {System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~false");gets[k] = 0;}} else {for (int n = 0; n < answerPapers[i].getA(); n++) {if (test(questions[testPapers[j].getNumbering1(k) - 1].getStandard(), answerPapers[i].getAnswer1(answerPapers[i].getNumbering1(k) - 1)) == 1) {//standard按照answer的编号输System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~true");gets[k] = testPapers[j].getGrade1(testPapers[j].getNumbering1(k) - 1);} else {System.out.println(questions[testPapers[j].getNumbering1(k) - 1].getQuestion() + "~" + answerPapers[i].getAnswer1(k) + "~false");gets[k] = 0;}}for (int m = answerPapers[i].getA(); m < testPapers[j].getT(); m++) {System.out.println("answer is null");gets[m] = 0;}}}get += gets[k];}}int st = 1;for(int l1 = 0; l1 < num3; l1++){for (int l2 = 0;l2 < o;l2++) {if (answerPapers[i].getStudentnum().equals(students[l1].getStudentnum1(l2))){st = 0;System.out.print(students[l1].getStudentnum1(l2)+" "+students[l1].getName1(l2)+": ");for (int l3 = 0; l3 < z; l3++) {if (l3 < z - 1) {System.out.print(gets[l3] + " ");}if (l3 == z - 1) {System.out.print(gets[l3]);}}System.out.println("~" + get);get = 0;}}}if(st == 1){System.out.println(answerPapers[i].getStudentnum()+" not found");}}}}
}

分析:这次相较于上次的作业,明显有了更清晰的思路和解决问题的方法,但由于设计方面依然没到位,再加上题目难度的提升,导致分数没有太大的变化。

3.采坑心得

1.第一次pta作业:刚提交时,没用正则表达式,以至于没拿到很好的成绩

后续在ideal中不断修改并用上正则表达式后,终于写到了满分。
2.第二次pta作业:吸取了第一次作业的教训,第二次作业中运用了正则表达式,但由于用了第一次本就不完善的设计,导致第二次作业难以下手

最后也是时间原因,没有把这题刷到满分

3.第三次pta作业:在第二次作业的基础上增添了学生信息和删除信息,在研究完题目之后,没有处理好乱序输入、信息的删除和错误信息,所以还有很多测试点没过,但到最后,还是勉强达到了及格分

4.改进建议

1.类与类之言要遵循单一职责原则
2.设计一个代理类来处理需要的数据
3.在写之前千万要先设计,不要提笔就写,只有设计写好了,思路才会清晰,代码才会完整。

5.总结

在这三次作业中,最主要的问题还是设计问题,没有好的设计就很难写出完整的代码,就会有很多报错,因而拿不到分,在接下来的作业里,我要做到如下方面:
1.写之前先看题,思考如何设计。
2.勤能补拙,在pta作业中投入更多时间。
3.对每次的失误和不足进行补充分析,应对下一次的难题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/22311.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

JVM——面试

https://juejin.cn/post/6998527815964426271 https://juejin.cn/post/7101120209540349959垃圾回收器 Serial(新生代)+ Serial Old(老年代) 特点:单线程垃圾回收器,垃圾回收过程中需要 STW,适用于运行在 Client 模式下的虚拟机; 新生代标记复制算法,老年代标记整理算法…

2024.4.19

2024.4.19 【你知道的都是真相。只可惜那些并不是真相的全部。】 Friday 三月十一 谷雨<BGM = "谷雨--音阙诗听"> AC :Answer Coarse,粗劣的答案 ​ CE :Compile Easily,轻松通过 ​ PC :Perfect Compile 完美的编译 ​ WA :Wonderful Answer,好答案 ​ RE :Ru…

Ubuntu 22.04 安装 Nvidia 驱动最方便安全的方式

刚安装好的 Ubuntu 22.04 没有 N 卡驱动,输入 nvidia-smi,提示没有此程序并推荐到 apt 安装。 但是,使用 apt 安装 nvidia 驱动会有极大概率出现启动黑屏和闪屏问题。 不如进入开始菜单,找到“附加驱动”:此处展示了可用的 Nvidia 驱动,选择自己想要的版本安装,"te…

GDExtension的C++示例

GDExtension的C++示例 本文按照官方文档,进行c++的GDExtension​插件开发,主要进行文档进行复刻,同时对文档中未涉及步骤进行补充 什么是GDExtension 除了GDScript​和C#​这两种脚本语言外,Godot​引擎可以执行其他编程语言编写的代码。目前有两种方式实现:C++模块与GDEx…

再见,晚晚

一、 尽管多少有些预感,但听到消息的时候,泪水还是几近夺眶而出。 “祝愿晚晚能坚持自己的梦想” “ymgg我们等生日会给晚晚一起录制一个祝福吧” 却是一语成谶,只留一个在屏幕前迷茫的我。 其实我已经很久没有完整地看一次晚晚的单播了。 但是,当看到晚晚的告别动态的时候…

实验1 原型设计————一款法律咨询及科普类app

一、实验题目:原型设计 二、实验目的:掌握产品原型设计方法和相应工具使用。 三、实验要求 (1)对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(至少3条)。 1.墨刀: 适用领域: 产品设计,项目管理,可以利用墨刀绘制流程图,明确项目流程和时间节…

这是一篇有颜色的文章。

三张图片都是一样的,但大小不一样。

OOP题目集1~3的总结

目录(一)前言 (二)作业介绍 (三)算法与代码 (四)SourceMonitor代码分析 (五)自学内容 (六)总结一、前言介绍本篇博客的大致内容、写作目的、意义等本篇博客介绍如何使用Java语言基础和算法来解决题目问题,在此基础上进行对最近Java编程语言学习的总结 题目的难度为…