ACM做题过程中知识点学习


1Double类中本来就有个方法parseDouble() ,作用是把字符串转换为Double

比如你要把字符串转换为整数也是一样的方法:int a=Integer.parseInt("abc");

2T  30.0  D  25.0读取这一行的时候注意,用空格分隔,然后把读取的字符串转为double

String[] line = scan.nextLine().split(" ");//split分隔才不报错

Double t=Double.parseDouble(line[1]);

3Math.pow(x,y)这个函数是求xy次方,xy的值都是浮点类型的,而你现在要求的是pow(64,1/3),那么也就是641/3次方,如果我们口头上来算的话,可以看成643次方根,但是计算机不会这样算,他会先求出1/3的值,1/313均为int类型,所以值为0,然后y这个值是浮点类型,所以自动转换为0.0,任何数字的0次幂都为1,所有这个地方求出来的值为1,而不是4,有时候我们不能以数学的方式来判断计算机的算法

4、 // 定义一些变量,用来格式化输出。  

        double d = 345.678;  

        String s = "你好!";  

        int i = 1234;  

        // "%"表示进行格式化输出,"%"之后的内容为格式的定义。  

        System.out.printf("%f", d);// "f"表示格式化输出浮点数。  

        System.out.printf("%9.2f", d);// "9.2"中的9表示输出的长度,2表示小数点后的位数。  

        System.out.printf("%+9.2f", d);// "+"表示输出的数带正负号。  

        System.out.printf("%-9.4f", d);// "-"表示输出的数左对齐(默认为右对齐)。  

        System.out.printf("%+-9.3f", d);// "+-"表示输出的数带正负号且左对齐。  

        System.out.printf("%d", i);// "d"表示输出十进制整数。  

        System.out.printf("%o", i);// "o"表示输出八进制整数。  

        System.out.printf("%x", i);// "d"表示输出十六进制整数。  

        System.out.printf("%#x", i);// "d"表示输出带有十六进制标志的整数。  

        System.out.printf("%s", s);// "d"表示输出字符串。  

        System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s", d, i, s);  

        // 可以输出多个变量,注意顺序。  

        System.out.printf("字符串:%2$s%1$d的十六进制数:%1$#x", i, s);  

        // "X$"表示第几个变量。  

 

4、可以这样创建立数组.
创建建数组:
格式为   int[] a = new int[n];//n为数组长度
初始化数组:
格式为   int[] a = new int[]{1,2,3};
         int[] b = {1,2,3};

5、toCharArray()的用法:将字符串对象中的字符转换为一个字符数组
例如:
String myString="abcd";
char myChar[]=myString.toCharArray();
System.out.println("myChar[1]="+myChar[1]);
5、List中的get(i)方法是获取List中的是第i+1个对象。List是从0开始的
List是有序的可重复的集合接口

 

6、java.math.BigDecimal.toPlainString() 返回此BigDecimal的字符串表示形式不带指数字段。

7、比如说有个String str="12345";
substring函数是取一个string子串,如果j=1,那么str.substring(j+1)就是取从第二位开始的子串,所以str.substring(j+1)等于"345";
 valueOfInteger类的一个静态方法,它是把一个string参数转换为Integer类型,那么经过Integer.valueOf"345")转换,345就是一个Integer类型了
最后说这个intValue函数,它是将一个Integer类型转换成原始类型int, 所以最后len就等于345了。
String.valueOf()是把java的原始数据类型或运用多态产生的Object类型转为String类型

8.acm1455道程序很简单,算法自己想不出,运用/2%2.

9StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串生成器中。append 方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。

10set是一个不包含重复元素的 collection

11、格式化输出例子

value = value / 12;          DecimalFormat df = new DecimalFormat(".00");           String str = df.format(value);  

12、ch >= 'p' && ch <= 'z'注意不能直接写成    p<ch<z

14、n.pow(d)就是n的d次幂

15Javajava.math包中提供的APIBigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。floatdouble只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimalBigDecimal所创建的是对象,我们不能使用传统的+-*/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。 

BigDecimal 的运算方式 不支持 + - * / 这类的运算 它有自己的运算方法

BigDecimal add(BigDecimalaugend) 加法运算

BigDecimal subtract(BigDecimal subtrahend) 减法运算

BigDecimal multiply(BigDecimal multiplicand) 乘法运算

BigDecimal divide(BigDecimal divisor) 除法运算

16、sort(int[] a) 
          对指定的 int 型数组按数字升序进行排序。

Arrays.sort()

 

  17

 Scanner cin = new Scanner(System.in);  

            while(cin.hasNext())  

            {  

                String[] tmp = cin.nextLine().split(" ");  

               if(tmp.equals("0 0 0 0"))  

                   break;  

               int N = Integer.valueOf(tmp[0]);  

               int M = Integer.valueOf(tmp[1]);  

               int P = Integer.valueOf(tmp[2]);  

               int C = Integer.valueOf(tmp[3]);

18、栈顶一般用top==-1;

 

19、快排(poj2388是快速排序,博客收藏中有篇文章讲的很好)

 

 

本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值