zoukankan      html  css  js  c++  java
  • Java第02次实验

    这个作业属于哪个班级 JAVA--网络2012
    这个作业的地址 博客提交:Java第02次实验(Java基本语法与类库)-CSDN社区
    这个作业的目标 Java第02次实验(Java基本语法与类库)
    姓名 李兴果

    2.PTA

    2.1 综合小测验

    对于控制台输入的处理,nextLine()方法与其他nextXXX方法混用会产生吞回车问题。建议全部使用Scanner.nextLine()处理输入以免碰到行尾回车换行问题。
    注意

    • Eclipse自动生成快捷键解Alt+,如switch、for、while、sysout、main
    • 使用Eclipse快速创建程序框架(利用Eclipse的quick fix功能快速创建方法)。
    • 不要重复创建Scanner对象。
    • 缩进, Tab、Shift+Tab。运行, ctrl+F11
    • 如果JDK为1.6版本(最新版PTA已支持1.8),switch不支持字符串。需先将字将String转化为int(早期的PTA 中使用的open jdk6)
    • 使用Eclipse的quick fix功能快速创建函数int choice2Int(String choice)
    • 一开始做这道题的时候,首先看到关键词“输入四个选项”,就有想到用switch的方法,四个选项分四块case。

    • 问题:Q1:对于第二个模块sort上,明显是需要使用数组形式,然后对数进行排序,我的想法是把数字都取出来然后放在新建的数组里面,因为字符串里面可能包含空格。使用了substring来取字符串,再使用Integer的parseInt取数字,查了数组Arrays.sort()用来排序,但还是没对。

    • Q2:search模块上,查找数字并返回下标,查找数字的话,用数组Arrays.binarySearch(下标,关键字)方法查找下标

    • Q3:身份证这里就是使用substring取字符n~m

    • Q4:共用数组问题

    • 代码块:

      • 原先sort模块
    • 老师sort模块

    老师的代码简洁更多,构造另外函数方便调用

    • search模块:

    2.2 身份证排序

    • 主要讲:sort1可直接使用Arrays.sort,String的subString

    • 采用结构化编程方式,针对sort1sort2各写一个方法处理。

    • 其他:nextInt()与nextLine()混用可能产生的后果。建议:全部使用Scanner的nextLine()处理输入以免碰到行尾回车换行问题

    • 分析:此题执行两个功能模块sort1与sort2

      新建数组A[] B[] C[] 分别给与分配空间,B数组存放输入内容,执行sort1时C数组存放A数组中的年月日,然后使用sort对数组C排序,sort同理

    • 主要代码:

    2.3 StringBuilder用法

    • 百度:

    String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类

        a:通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder类的新实例:
    创建Stringbuilder对象:StringBuilder strB = new StringBuilder();
    
    • 这里字符串连接应用到append(String str)/append(Char c)

    b:StringBuilder对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是可以为它可容纳的最大字符数指定一个值,此值称为该对象的容量;

    2.4 动态数组

    • 分析:乘法表的打印需要用到二维数组,需要考虑数组内容以及打印格式

    • 一开始没有考虑到格式问题询问同学之后知道使用%s来控制格式

    2.5 ArrayList入门

    • 添加 arr.add(xx,"y");
    • 移除下标元素 arr.remove(indx);
    • 包含Contains();
    • 查找 IndexOf()、LastIndexOf();
    • 获取 arr.get(index);

    2.5 浮点数的精确运算

    • 问题:Q1 为什么浮点型计算不用float或者double进行计算

    • 解决:浮点数由两部分组成:指数和尾数。浮点数的值实际上是由一个特定的数学公式计算得到的,float类型的变量只有7位的精度,而double类型的变量有16位的精度

    • 百度:

      Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中若需要精确的计算结果则要用java.math.BigDecimal类。

    • 注:
      a:使用BigDecimal时,需要用java.math.BigDecimal类,并且new一个BigDecimal空间
      b:这里加法add以及乘法multiply使用b1和a1面向对象
  • 相关阅读:
    Android 自定义View (一)
    Java enum的用法详解
    Android Application的使用及其生命周期
    android 支持的语言列表(汇总)
    android 使用String.format("%.2f",67.876)自已定义语言(俄语、西班牙语)会把小数点变为逗号
    TN2151:崩溃报告
    android 各国语言对应的缩写
    uva 1401 dp+Trie
    教你3网页特效免费下载栅极材料必不可少的一步,无需工具
    编译命令行终端 swift
  • 原文地址:https://www.cnblogs.com/lixinggio/p/15324994.html
Copyright © 2011-2022 走看看