表妹在某 211 上学,文科,选修 Java ,今天问我一道题目。大意是给一段字符串,统计里面各单词出现次数,最后按次数从高到低输出单词和次数。我就写了个程序,把字符串 split 之后用 HashMap 统计次数,然后导出到 ArrayList 里排序。写完之后她说不行,这些数据结构都没学过,老师一看就不是自己写的:(。我问她学到哪了,她说只学了基本的数据类型,条件循环语句和数组。问排序教了吗,回答说教了:
for(int i=0;i<size;i++)
for(int j=0;j<size;j++)
if(n[i]<n[j]){
k=n[i];n[i]=n[j];n[j]=k;
}
......
最后拜托我只用数组把这道题写一下。
这是大一下学期课时文科 8 周的 Java 选修......................
import java.util.*;
public class Main {
public static void main(String[] args) {
String s1="Kemono Friends is a Japanese media franchise created by manga artist Mine Yoshizaki. The project initially began as a smartphone game developed by Nexon, which ran between March 2015 and December 2016. A manga by Furai was serialized in Kadokawa's Monthly Shōnen Ace between May 2015 and March 2017, and an anime television series produced by Yaoyorozu aired between January and March 2017. Despite its low production quality, the anime series earned praise from critics and viewers in Japan due to its well crafted storyline and characters, becoming a fad in the country.[1] A new video project has been greenlit for production.";
String regex = "[\\s\\p{Punct}]+";
Map<String, Integer> map = new HashMap<>();
for (String word : s1.split(regex))
if (map.containsKey(word))
map.put(word, map.get(word) + 1);
else
map.put(word, 1);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
list.sort((a, b) -> b.getValue() - a.getValue());
for (Map.Entry<String, Integer> e : list)
System.out.println(e.getKey() + "\t\t\t" + e.getValue());
}
}
1
paradoxs 2017-04-14 20:19:30 +08:00 via iPhone
顺序截取字母,放到 switch case 里面
|
2
hxndg 2017-04-14 20:19:37 +08:00
反正我知道北邮的经管也要学 c++,我觉得是疯了。。。。
|
3
meisei81 2017-04-14 20:19:37 +08:00
八周不就两个月么。半学期讲基本语法没毛病吧。
|
4
zhujinliang 2017-04-14 20:19:46 +08:00
那就先排序,然后跑一遍就统计出来了
|
5
fantastM 2017-04-14 20:21:29 +08:00 via iPhone 8
表妹怎么联系(逃…
|
7
wly19960911 2017-04-14 20:30:57 +08:00 via Android 1
|
8
Phariel 2017-04-14 20:34:19 +08:00
那么问题来了,你这样代写家庭作业真的好么
|
9
artandlol 2017-04-14 20:35:30 +08:00 via Android
文科计算机二级还是汇编呢
汇编逆向什么的是不是都会啊? |
10
binux 2017-04-14 20:39:56 +08:00 1
其他学科学编程又不是要能用,是要学习自动机的思想,你上来就调一堆 API 有什么用?
|
11
fsgmhoward 2017-04-14 20:41:33 +08:00 via iPhone 3
代写完作业 然后就推了?🤔
|
12
tux 2017-04-14 20:43:19 +08:00 1
表妹照片呢?
|
13
Kalv8n 2017-04-14 20:45:42 +08:00 via Android
文科学 Java ,看来以后要说“学好编程自动化,打遍天下都不怕”。
|
14
scnace 2017-04-14 21:11:09 +08:00 via Android
骨科?
|
15
ihuotui 2017-04-14 21:29:07 +08:00 via iPhone
晒表妹
|
17
shinwood 2017-04-14 22:31:41 +08:00
如果是 0 编程基础,文科八周选修按进度学到排序没毛病啊…
|
18
changhe626 2017-04-14 22:35:27 +08:00
没有表妹的照片,差评
|
19
boter 2017-04-14 22:36:17 +08:00
连文科都学编程了。。。以后也要多学学经济学,文学之类的了,感觉荒废了太长时间,伤心
|
20
learnshare 2017-04-14 22:42:01 +08:00
所以说小学的题目得用小学的方式解答
|
21
aristotll 2017-04-14 22:53:32 +08:00
|
22
duohedianshuihao 2017-04-14 23:20:11 +08:00 via iPhone
@hxndg 还学通信原理呢
|
23
EmdeBoas 2017-04-14 23:22:24 +08:00
我们学校文科的要学 C 、高数、电路........还要参加一个综合上机考试,考操作系统、数据结构、 C 、 office 、 linux.....没考过不让毕业.......
|
24
cilbup 2017-04-14 23:22:53 +08:00 via iPhone
?给字符串是求字母出现的次数还是单词出现的次数?
如果是字母的话,可以建一个 26 字母的 int 数组,比如说 a 出现一次就数组[0]+=1 ,等到要输出的时候就一个简单排序,把数组元素输出,同时 a 的 ASCII 码加上对应的数组下标输出字母。 如果不是字母的话,不好意思啦~ |
25
snsd 2017-04-14 23:24:40 +08:00 via Android
我能说我学建筑的,居然要上 visual foxpro 吗?还有学环境工程的舍友,他们居然要上 visual basic 。真是想不通学校的培养方案啊,搞水泥沙子的和和搞化工的,居然还要学编程。
|
26
ghostheaven 2017-04-14 23:42:23 +08:00 via Android
这道题的最优解的复杂度是 nlogn 吧
|
27
ryd994 2017-04-15 00:37:09 +08:00 via Android
|
28
snsd 2017-04-15 01:02:15 +08:00 via Android
@ryd994 cad 我们是必修课,但是我搞不懂学 visual foxpro 对职业有什么现实意义?难道去工地上编程?
|
30
ryd994 2017-04-15 01:26:47 +08:00 via Android
@snsd 估计微软给钱了,或者教材,或者教师……
我校学 cad 不学 autocad 学 simens nx 就是因为西门子给钱……… |
32
snsd 2017-04-15 01:33:04 +08:00 via Android
@ryd994 我们学的是 autocad , visual foxpro ,还有广联达。学广联达我没意见,建筑工程做造价肯定会用到。但是尼马的学 visual foxpro 是个啥意思?难道还得去工地上自己编程?真搞不懂我们专业的培养方案是哪个人制定出来的
|
35
webersongao 2017-04-15 02:28:12 +08:00 via iPhone
咱表妹怎么联系😂
|
36
green15 2017-04-15 02:33:55 +08:00 via iPhone
|
37
starvedcat 2017-04-15 05:47:53 +08:00
怎么看都是楼主的情商更想令人吐槽
|
38
Tunar 2017-04-15 08:32:00 +08:00
我有个同学学法律的,还要学数据库,,惊了
|
42
cwlmxwb 2017-04-15 09:39:07 +08:00 via iPhone
求表妹。。。照片。。
|
43
zscself 2017-04-15 10:36:51 +08:00
有一撮人觉得“人人该学一点编程”,另外一撮人觉得“我一个非计科专业的学生,怎么就跑来学计算机了呢?”
|
44
jiongxiaobu 2017-04-15 11:08:35 +08:00 via iPhone
没什么问题阿 一个问题本身就可以有不同的解法 不是最优解又怎么样呢
|
45
greenmoon55 2017-04-15 11:22:58 +08:00
没看出来哪里值得吐槽。。
|
46
Chyroc 2017-04-15 11:23:15 +08:00
没照片差评
|
48
yellowV2ex 2017-04-15 12:01:23 +08:00
面向表哥编程
|
50
undeflife 2017-04-15 13:35:49 +08:00
你讲述了一个事情。吐槽在哪呢?
|
51
wdhwg001 2017-04-15 14:45:57 +08:00
刚想说一句 sage ,然后发现这不是岛。
|
52
acdfjelxe 2017-04-15 15:27:46 +08:00
文科又是选修,懒得吐槽。卤煮是来秀表妹的
|
53
snsd 2017-04-15 15:50:06 +08:00 via Android
|
54
sunsol 2017-04-15 16:07:21 +08:00
这是让学生自己实现常用数据结构的操作方法,基础入门都是这样,
只有培训班才会上来就直接用现成轮子吧. |
55
msg7086 2017-04-16 04:19:01 +08:00
@snsd 有很多吧。其实用什么语言来写并不是那么重要的问题。现在不还有 asp 啊 perl 写的网站么。只要代码写得好,各种语言都不会差得那么多。
|
56
MagaFun 2017-04-16 05:21:35 +08:00
看到了动物朋友(((
|
57
wdlth 2017-04-16 11:50:42 +08:00
动物朋友,这题的文本是老师出的还是表妹找的……
|
58
KIDJourney 2017-04-16 13:39:50 +08:00
一样的题,妹子的老师要求用 C 写。
我把 hashmap 自己实现了一遍。 日了狗了。 |