【编程素养-每日一练】20190731(Day003)
作者:互联网
一、JavaScript 编程题
(1)题干:
查找「sdddrtkjsfkkkasjdddj」字符串中,出现次数最多的字符和次数。
(2)代码展示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>day003</title>
</head>
<body>
</body>
<script>
var str = "sdddrtkjsfkkkasjdddj";
// 使用对象记录字符出现的次数 key-字符 value-出现次数
var obj = {};
for(var i = 0; i < str.length; i++) {
//获得字符
var char = str.charAt(i);
//若对象已有该字符属性,值加1
if(obj[char]) {
obj[char]++;
} else {
//第一次出现该字符,值记为1
obj[char] = 1;
}
}
//记录出现最多次数
var max = 0;
for(var key in obj) {
if(obj[key] >= max) {
max = obj[key];
}
}
//打印
for(var key in obj) {
if(obj[key] == max) {
console.log("'sdddrtkjsfkkkasjdddj'中出现次数最多的字符:" + key);
console.log("出现次数:" + obj[key]);
}
}
</script>
</html>
(3)运行截图
二、MySQL 编程题
(1)题干:
表名 team
ID | Name |
---|---|
1 | a |
2 | b |
3 | b |
4 | a |
5 | c |
6 | c |
要求:执行一个删除语句,当 Name 列上有相同时,只保留 ID 这列上值小的
例如:删除后的结果应如下:
ID | Name |
---|---|
1 | a |
2 | b |
5 | c |
(2)代码展示:
DELETE FROM team WHERE id NOT IN
(SELECT a.id FROM(SELECT MIN(id) AS id FROM team GROUP BY name)a)
(3)运行截图
(4)可能遇到的问题
如下的SQL语句感觉正确,
DELETE FROM team WHERE id NOT IN
(SELECT MIN(id) AS id FROM team GROUP BY name)
但是MySQL运行会报错。
[Err] 1093 - You can't specify target table 'team' for update in FROM clause
意思是:不能对进行查询操作的表进行update操作,也就说我们的where条件中进行了子查询,并且子查询也是针对需要进行update操作的表的,mysql不支持这种查询修改的方式。
三、Java 编程题
(1)题干:
判断 101-200 之间有多少个素数,并输出所有素数。
(2)代码展示:
package day003;
public class Test {
public static void main(String[] args) {
//素数:除了1和自身外,无法被其他自然数整除的数
int count = 0; //存放素数数量
//双层for循环
for (int i = 101; i <= 200; i++) {
int j;
for (j = 2; j < i; j++) {
// 如果j能被i整除,跳出循环,i++
if (i % j == 0) {
break;
}
}
// 判断循环是否提前跳出,如果j<i,则i不是素数
if (j >= i) {
count++;
System.out.print(i + "\t");
// 换行,用count计数,每五个数换行
if (count % 5 == 0) {
System.out.print("\n");
}
}
}
System.out.print("\n101-200之间素数的个数为:"+count);
}
}
(3)运行截图
标签:count,obj,编程,key,team,var,20190731,id,Day003 来源: https://blog.csdn.net/NoBtree/article/details/97949677