编写一个程序,输出1到200之间所有能被3整除的整数,要求输出时每行输出5个整数。
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 200; i++) {
if (i % 3 == 0) {
System.out.print(i + " ");
count++; // 计数器加1
if (count % 5==0) {
System.out.println();
}
}
}
}
public static void main(String[] args) {
int counter = 0;
for(int i = 1; i <= 200; i++) {
if(i % 3 == 0) {
System.out.printf("%-5d", i); //
counter++;
if(counter % 5 == 0) {
System.out.println();
}
}
}
}
public class DivisibleByThree {
public static void main(String[] args) {
int counter = 0;
for (int i = 1; i <= 200; i++) {
if (i % 3 == 0) {
System.out.print(i + " ");
counter++;
if (counter % 5 == 0) {
System.out.println();
}
}
}
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话:在实际项目里,大多数程序员用到的可能仅仅是增删改查,当我们用Mybatis时,这个情况更普遍。不过如果你面试时也这样表现,估计你的能力就和其它竞争者差不多了。
这方面,你可以准备如下的技能。
SQL高级方面,比如group by, having,左连接,子查询(带in),行转列等高级用法。
建表方面,你可以考虑下,你项目是用三范式还是反范式,理由是什么?
尤其是优化,你可以准备下如何通过执行计划查看SQL语句改进点的方式,或者其它能改善SQL性能的方式(比如建索引等)。
如果你感觉有能力,还可以准备些MySQL集群,MyCAT分库分表的技能。比如通过LVS+Keepalived实现MySQL负载均衡,MyCAT的配置方式。同样,如果可以,也看些相关的底层代码。
哪怕你在前三点表现一般,那么至少也能超越将近一般的候选人,尤其当你在SQL优化方面表现非常好,那么你在面试高级开发时,数据库层面一定是达标的,如果你连第四点也回答非常好,那么恭喜你,你在数据库方面的能力甚至达到了初级架构的级别。