2-java-写代码技巧和交题注意点
用java交题要严格按照规定写代码:
比如蓝桥杯就是:
1.不能有包名;
2.Class的名字必须是 Main;
代码补全建议:
1.main函数的头可以建立class时候直接勾选,也可以: 只输入 main, 然后alt + / : 补全
2.System.out.println() : 可以 syso, 然后代码补全
快捷键:
crt + d: 删除一行
ctr + shift + o: 导包
ctr + shift + i: 代码整理对齐
alt + / : 代码补全

java交题经验:
1.读一行提取两个数字,比读两次要快。
// char a = cin.next().charAt(0);
// char b = cin.next().charAt(0);
String t = cin.nextLine();
// System.out.println(t + "--");
char a = t.charAt(0);
char b = t.charAt(2);
2. String.charAt() 比 将string 转为 char 数组取数要慢, 差别在这题中影响很小。
String s1 = cin.next();
String s2 = cin.next();
st = s1.toCharArray(); // 转为数组要快
end = s2.toCharArray();
3. 在使用对象赋值时:
java超时:
for(int i = 2; i <= n + 1; i++) {
t.x = 2 * a1.x - a0.x;
t.z = 2 * a1.z - a0.z + 2 * c[i - 1];
a0 = a1;
a1 = t;
// System.out.println(t.x + " " + t.z);
}
上面的 a0, a1,t 都是对象,这个赋值会很耗时间,使效率很低。
xx a0 = new xx(0, a[0]);
xx a1 = new xx(1, 0);
xx t = new xx(0, 0);
for(int i = 2; i <= n + 1; i++) {
t.x = 2 * a1.x - a0.x;
t.z = 2 * a1.z - a0.z + 2 * c[i - 1];
a0.x = a1.x;
a0.z = a1.z;
a1.x = t.x;
a1.z = t.z;
// System.out.println(t.x + " " + t.z);
}
System.out.printf("%.2f\n",(a[n+1] - a1.z) / a1.x);
3. 在程序在大量循环输出每一个运算结果时:(例题:52-2018 蓝桥杯省赛 B 组模拟赛(一)java第五题)
可以考虑将所有结果拼接成一个字符串然后输出,可以用StringBuilder()来拼接,这样可以大大减少输出时间,注意换行。

经验总结】Java在ACM算法竞赛编程中易错点
2-java-写代码技巧和交题注意点的更多相关文章
- JAVA写代码必须知道的编程工具
Eclipse: 一个开放源代码的.基于Java的可扩展开发平台. NetBeans: 开放源码的Java集成开发环境,适用于各种客户机和Web应用. IntelliJ IDEA: 在代码自动提示.代 ...
- 学数据库你竟然不用用JAVA写代码,可惜你遇到了我! JAVA连接数据库(JDBC)的安装使用教程
Step 1 你得有Eclipse 没有出门右拐,我教不了你. Step 2 你得有Mysql MySQL的详细安装过程,我在另一篇博客中给出.戳我 Step 3 安装JDBC 可以去官网下,如果用的 ...
- 如何用java写出无副作用的代码
搞java的同学们可能对无副作用这个概念比较陌生,这是函数式编程中的一个概念,无副作用的意思就是: 一个函数(java里是方法)的多次调用中,只要输入参数的值相同,输出结果的值也必然相同,并且在这个函 ...
- Java面试题:写代码使得分别出现StackOverflowError和OutOfMemoryError
转载自:http://www.cnblogs.com/xudong-bupt/p/3360206.html 今天做了个笔试,这是其中的一道题目:写代码使得分别出现StackOverflowError和 ...
- Java 10 的 10 个新特性,将彻底改变你写代码的方式!
Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...
- 请注意写代码的习惯与态度(Java)
注: 以下内容引自http://blog.csdn.net/xtayfjpk/article/details/52136686 请注意写代码的习惯与态度(Java) 原创 2016年08月06日 16 ...
- java压缩文件解压:调用WinRAR5命令强于自己写代码实现
最近,手上维护着一个几年前的系统,技术是用的JSP+Strust2,系统提供了rar和zip两种压缩格式的解压功能,后台是用java实现的 1.解压rar格式,采用的是java-unrar-0.3.j ...
- php求和为s的两个数字(多复制上面写的代码,有利于检查错误)(由浅入深,先写简单算法,做题的话够用就行)
php求和为s的两个数字(多复制上面写的代码,有利于检查错误)(由浅入深,先写简单算法,做题的话够用就行) 一.总结 1.多复制上面写的代码,有利于检查错误 2.一层循环就解决了,前后两个指针,和大了 ...
- 2019前端面试系列——JS高频手写代码题
实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...
随机推荐
- linux下各安装包的安装方法
<转>linux下各安装包的安装方法 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...
- 在Spring Boot中使用 @ConfigurationProperties 注解
但 Spring Boot 提供了另一种方式 ,能够根据类型校验和管理application中的bean. 这里会介绍如何使用@ConfigurationProperties.继续使用mail做例子. ...
- win10、Ubuntu14.04双系统正确卸载Ubuntu的方法
参考博客:http://www.cnblogs.com/xia-Autumn/p/6294055.html 问题描述:由于python问题Ubuntu系统崩了,登录之后无法进入桌面.重装桌面时报错,无 ...
- mysql 关联
自关联 设计省信息的表结构provinces id ptitle 设计市信息的表结构cityscitys表的proid表示城市所属的省,对应着provinces表的id值 id ctitle proi ...
- H5使用codovar插件实现支付宝支付(支付宝APP支付模式,前端)
H5打包的app实现支付及支付宝支付,本章主要详解支付宝支付,微信支付请查看另一篇“H5使用codovar插件实现微信支付(微信APP支付模式,前端)” ps:本文只试用H5开发的,支付宝 APP支付 ...
- AE10.0及AE10.0以上的版本调用ESRI.ArcGIS.esriSystem出现的问题
如果本地安装的是AE10.0以上,那么添加ESRI.ArcGIS.esriSystem引用时,会出现esriLicenseProductCode并不包含esriLicenseProductCodeAr ...
- Java反射实现原理分析
目录: 一.反射的用法 二.反射实现原理 一.反射的用法 1.如何获取Class反射类 (1)通过getClass方法: Proxy proxy = new ProxyImpl(); Class pr ...
- sybase的ASE和IQ版本有什么区别
原文:ASE是sybase OLTP数据库,行式存储.IQ是Sybase OLAP和DSS的数据库,采用列式存储,适合数据仓库.数据集市等分析性应用,不符合并发压力大的联机场景.
- php解决高并发问题
我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键.举个例子,我们假设处理一个业务请求平均响应时间为10 ...
- task 异步 进程与线程的区别
用Wait方法(会以同步的方式来执行),不用Wait则会以异步的方式来执行 要在主线程中等待后台线程执行完毕,可以使用Wait方法(会以同步的方式来执行).不用Wait则会以异步的方式来执行. Tas ...