当前位置: 首页 > news >正文

Java第二次实验

1. 本章学习总结
本章学习了Java多方面知识:控制台输入推荐用Scanner.nextLine()避免问题,还涉及 IDE 操作与 String.split;身份证排序用Arrays.sort和String.subString,结构化编程且注意输入方法;需了解 StringBuilder 优于+拼接字符串;动态数组第一维预定义、第二维动态定;ArrayList有add等方法,可替代数组,可查JDK文档深入学习。
2. 书面作业
2.1 综合小测验

QQ20250924-192451
2.2 身份证排序

点击查看代码
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = Integer.parseInt(scanner.nextLine());List<String> idCards = new ArrayList<>();for (int i = 0; i < n; i++) {idCards.add(scanner.nextLine());}while (true) {String command = scanner.nextLine();if ("sort1".equals(command)) {sort1(idCards);} else if ("sort2".equals(command)) {sort2(idCards);} else {System.out.println("exit");break;}}scanner.close();}private static void sort1(List<String> idCards) {List<String> dateList = new ArrayList<>();for (String idCard : idCards) {if (idCard.length() >= 14) {String year = idCard.substring(6, 10);String month = idCard.substring(10, 12);String day = idCard.substring(12, 14);dateList.add(year + "-" + month + "-" + day);}}Collections.sort(dateList);for (String date : dateList) {System.out.println(date);}}private static void sort2(List<String> idCards) {List<IdCardWithDate> cardList = new ArrayList<>();for (String idCard : idCards) {if (idCard.length() >= 14) {String dateStr = idCard.substring(6, 14);cardList.add(new IdCardWithDate(idCard, dateStr));}}Collections.sort(cardList, new Comparator<IdCardWithDate>() {public int compare(IdCardWithDate o1, IdCardWithDate o2) {return o1.date.compareTo(o2.date);}});for (IdCardWithDate card : cardList) {System.out.println(card.idCard);}}static class IdCardWithDate {String idCard;String date;public IdCardWithDate(String idCard, String date) {this.idCard = idCard;this.date = date;}}
}
2.3 StringBuilder
点击查看代码
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNextInt()) {int n = scanner.nextInt();int begin = scanner.nextInt();int end = scanner.nextInt();StringBuilder sb = new StringBuilder();for (int i = 0; i < n; i++) {sb.append(i);}String result = sb.substring(begin, end);System.out.println(result);}scanner.close();}
}
2.4 动态数组
点击查看代码
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNextInt()) {int n = scanner.nextInt();printMultiplicationTable(n);}scanner.close();}private static void printMultiplicationTable(int n) {String[][] multiplicationTable = new String[n][];for (int i = 1; i <= n; i++) {multiplicationTable[i-1] = new String[i];for (int j = 1; j <= i; j++) {multiplicationTable[i-1][j-1] = i + "*" + j + "=" + (i * j);}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) {String item = i + "*" + j + "=" + (i * j);if (j == 1) {System.out.print(item);} else {String prevItem = i + "*" + (j-1) + "=" + (i * (j-1));int totalWidth = 7;int spacesNeeded = totalWidth - prevItem.length();for (int k = 0; k < spacesNeeded; k++) {System.out.print(" ");}System.out.print(item);}}System.out.println();}System.out.println(Arrays.deepToString(multiplicationTable));}
}
**3. PTA实验总结及码云上代码提交记录**

QQ20250924-192805

QQ20250924-193138

QQ20250924-193855
这些实验让我对字符串操作、数组使用和性能优化有了更深入的认识,编程能力也得到了提升。

http://www.zskr.cn/news/11086.html

相关文章:

  • 英语_阅读
  • 《新概念英语》在线朗读,单句点读,随时随地在线学习。
  • React学习教程,从入门到精通,React Router 语法知识点及使用手段详解(28)
  • 读书笔记:OpenPBR 规范(1)
  • CentOS 7 下 Kubernetes 集群搭建与配置指南
  • 【HD300I 】基于昇腾 310P 的全国产化智能计算模组
  • 【Origin】数据分析后的图,提取到外部图表
  • WPF Prism register interface and implemented interface service
  • 人机共生:AI如何重塑招聘全流程,赋能HR战略升级
  • hot100题简单题
  • 注意事项
  • 产品经理如何借力项目管理软件,驾驭复杂项目并准时上线?
  • 程序员的旅行神器:用AI提示词工程解决选择困难症
  • 西电PCB设计指南第4章学习笔记
  • 读取zip包中的文件
  • Attention复杂度解析与改进方向
  • 三维模型非结构化网格生成
  • Playwright MCP浏览器自动化指南 - 详解
  • 完整教程:【C++】STL简介+编码表+string引入
  • 基于节流的流水线并行推理优化——gLLM
  • Corral the Cows
  • 从范德蒙德矩阵聊开去.
  • Ansible自动化管理 - 指南
  • Python 并发编程
  • 统计机器学习经典分类算法MATLAB实现
  • 299、已凉
  • WPF的数据绑定之通知修改
  • matlab运行时遇到的license问题
  • HarmonyOS之设备硬件能力调用:传感器、蓝牙与定位
  • 基于HarmonyOS SDK开放能力的微博社交体验构建实践