这周去面试做了几道笔试题,速来总结一波
Tomcat的默认端口是多少?怎么修改?
Tomcat默认端口8080
修改:在Tomcat安装文件夹下找到/conf文件夹——找到server.xml——找代码Connector port="8080" 修改为自己想要的
SpringBoot下服务端口设置
在application.properties中设置 server.port = ...
WEB前端程序
写一个方法消除一个数组里面重复的元素,var arr = [1,2,2,2,3,3,3,4,5,6];
<script>
var arr = [1,2,2,2,3,3,3,4,5,6];
// 定义一个空的数组
var arr2 = []
//遍历数组
for (var i = 0; i < arr.length; i++) {
// indexOf() 方法返回调用它的 String 对象中第一次出现的指定值的索引,如果未找到该值,则返回 -1。
if (arr2.indexOf(arr[i]) == -1) {
// 查找索引值,如果在arr2中未找到,添加到arr2中
arr2.push(arr[i])
}
}
console.log(arr2)
</script>
输出结果
输出1-100之间不能被5整除的数,并且每5个一行
/**
* 1.先输出1-100之间的所有数
* 2.然后过滤输出 不能被5整除的数 n % 5 != 0
* 3.每5个一行 我们使用int count统计输出的个数
* 当count % 5 ==0 就说明输出了5个 需要输出一个换行
*/
int count = 0;//统计输出的个数
for (int i = 0; i <= 100; i++) {
if (i % 5 != 0) {
count++;
System.out.print(i + "\t");//使用制表位\t好看一点
//判断 每满5个,就输出一个换行
if (count % 5 == 0) {
System.out.println();
}
}
}
输出结果
判断一个数是否为水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153=1*1*1+5*5*5+3*3*3
/**
* 比如 int n = 153
* 先得到 n的百位 十位 个位 使用 if 判断他们的立方和是否相等
* n 的百位 n / 100
* n 的十位 n % 100 / 10
* n 的个位 n % 10
*/
int n = 153;
int n1 = n / 100;
int n2 = n % 100 / 10;
int n3 = n % 10;
if (n1 * n1 * n1 + n2 * n2 * n2 +n3 * n3 * n3 == n){
System.out.println(n + "为水仙花数");
}else {
System.out.println(n + "不是水仙花数");
}
求出1-1/2+1/3-1/4......1/100的和
/**
* 1-1/2+1/3-1/4...1/100 = 1-(1/2)+(1/3)-(1/4)...1/100
* 一共有100个数 分子永远是1 分母从1-100递增
* 当分母为偶数时,前面运算符为 - ,当分母为奇数时,前面运算符为 +
* 有一个隐藏陷阱 要把公式 分子 1 写成1.0 才能得到精确的小数
*/
double sum = 0;
for (int i = 1; i < 100; i++) {
if (i % 2 != 0){//分母为奇数
sum += 1.0/i;
}else{//分母为偶数
sum -= 1.0/i;
}
}
System.out.println("sum=" + sum);
得出结果
求1+(1+2)+(1+2+3)+(1+2+3+4)+.....+(1+2+3+...+100)的值
/**
* 求1+(1+2)+(1+2+3)+(1+2+3+4)+.....+(1+2+3+...+100)的值
* 一共100项相加
* 每一项数字在逐渐增加
* 很像一个双层循环
*/
int sum = 0;
for (int i = 1; i <= 100; i++) {//i可以表示第几项,也可以表示当前项 最大的数
for (int j = 1; j <= i; j++) {//内层对i-1进行循环
sum += j;
}
}
System.out.println("sum=" + sum);
得出结果: