V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lishunan246
V2EX  ›  程序员

这个槽我一定要吐。。

  •  
  •   lishunan246 · 2017-04-14 20:14:13 +08:00 · 8383 次点击
    这是一个创建于 2772 天前的主题,其中的信息可能已经有所发展或是发生改变。

    表妹在某 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 选修......................

    第 1 条附言  ·  2017-04-15 16:02:53 +08:00
    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());
        }
    }
    
    第 2 条附言  ·  2017-04-15 16:03:24 +08:00
    我只是觉得现在课程真是可怕啊
    ```Java
    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}]+";
    String[] words = s1.split(regex);
    Integer wordCount = 0;
    String[] key = new String[words.length];
    int[] count = new int[words.length];
    for (String word : words) {
    boolean found = false;
    for (int i = 0; i < wordCount; ++i)
    if (key[i].equals(word)) {
    ++count[i];
    found = true;
    break;
    }
    if (!found) {
    key[wordCount] = word;
    count[wordCount] = 1;
    ++wordCount;
    }
    }
    for (int i = 0; i < wordCount; ++i)
    for (int j = 0; j < wordCount; ++j)
    if (count[i] > count[j]) {
    String ts = key[i];
    int tc = count[i];
    key[i] = key[j];
    count[i] = count[j];
    key[j] = ts;
    count[j] = tc;
    }
    for (int i = 0; i < wordCount; ++i)
    System.out.println(key[i] + "\t\t\t" + count[i]);
    }
    }
    ```
    58 条回复    2017-04-16 13:39:50 +08:00
    paradoxs
        1
    paradoxs  
       2017-04-14 20:19:30 +08:00 via iPhone
    顺序截取字母,放到 switch case 里面
    hxndg
        2
    hxndg  
       2017-04-14 20:19:37 +08:00
    反正我知道北邮的经管也要学 c++,我觉得是疯了。。。。
    meisei81
        3
    meisei81  
       2017-04-14 20:19:37 +08:00
    八周不就两个月么。半学期讲基本语法没毛病吧。
    zhujinliang
        4
    zhujinliang  
       2017-04-14 20:19:46 +08:00
    那就先排序,然后跑一遍就统计出来了
    fantastM
        5
    fantastM  
       2017-04-14 20:21:29 +08:00 via iPhone   ❤️ 8
    表妹怎么联系(逃…
    touzi
        6
    touzi  
       2017-04-14 20:25:59 +08:00
    @hxndg 全民编程时代已经来临.
    wly19960911
        7
    wly19960911  
       2017-04-14 20:30:57 +08:00 via Android   ❤️ 1
    @hxndg 选修

    楼主我感觉你的槽应该在表妹,文科,选修。

    自然不会接触集合啥的。。。。
    Phariel
        8
    Phariel  
       2017-04-14 20:34:19 +08:00
    那么问题来了,你这样代写家庭作业真的好么
    artandlol
        9
    artandlol  
       2017-04-14 20:35:30 +08:00 via Android
    文科计算机二级还是汇编呢
    汇编逆向什么的是不是都会啊?
    binux
        10
    binux  
       2017-04-14 20:39:56 +08:00   ❤️ 1
    其他学科学编程又不是要能用,是要学习自动机的思想,你上来就调一堆 API 有什么用?
    fsgmhoward
        11
    fsgmhoward  
       2017-04-14 20:41:33 +08:00 via iPhone   ❤️ 3
    代写完作业 然后就推了?🤔
    tux
        12
    tux  
       2017-04-14 20:43:19 +08:00   ❤️ 1
    表妹照片呢?
    Kalv8n
        13
    Kalv8n  
       2017-04-14 20:45:42 +08:00 via Android
    文科学 Java ,看来以后要说“学好编程自动化,打遍天下都不怕”。
    scnace
        14
    scnace  
       2017-04-14 21:11:09 +08:00 via Android
    骨科?
    ihuotui
        15
    ihuotui  
       2017-04-14 21:29:07 +08:00 via iPhone
    晒表妹
    shanks
        16
    shanks  
       2017-04-14 22:30:10 +08:00
    果然有人跟我想到一块去。。。 # 德国骨科 手动再见
    @scnace
    shinwood
        17
    shinwood  
       2017-04-14 22:31:41 +08:00
    如果是 0 编程基础,文科八周选修按进度学到排序没毛病啊…
    changhe626
        18
    changhe626  
       2017-04-14 22:35:27 +08:00
    没有表妹的照片,差评
    boter
        19
    boter  
       2017-04-14 22:36:17 +08:00
    连文科都学编程了。。。以后也要多学学经济学,文学之类的了,感觉荒废了太长时间,伤心
    learnshare
        20
    learnshare  
       2017-04-14 22:42:01 +08:00
    所以说小学的题目得用小学的方式解答
    aristotll
        21
    aristotll  
       2017-04-14 22:53:32 +08:00
    duohedianshuihao
        22
    duohedianshuihao  
       2017-04-14 23:20:11 +08:00 via iPhone
    @hxndg 还学通信原理呢
    EmdeBoas
        23
    EmdeBoas  
       2017-04-14 23:22:24 +08:00
    我们学校文科的要学 C 、高数、电路........还要参加一个综合上机考试,考操作系统、数据结构、 C 、 office 、 linux.....没考过不让毕业.......
    cilbup
        24
    cilbup  
       2017-04-14 23:22:53 +08:00 via iPhone
    ?给字符串是求字母出现的次数还是单词出现的次数?
    如果是字母的话,可以建一个 26 字母的 int 数组,比如说 a 出现一次就数组[0]+=1 ,等到要输出的时候就一个简单排序,把数组元素输出,同时 a 的 ASCII 码加上对应的数组下标输出字母。
    如果不是字母的话,不好意思啦~
    snsd
        25
    snsd  
       2017-04-14 23:24:40 +08:00 via Android
    我能说我学建筑的,居然要上 visual foxpro 吗?还有学环境工程的舍友,他们居然要上 visual basic 。真是想不通学校的培养方案啊,搞水泥沙子的和和搞化工的,居然还要学编程。
    ghostheaven
        26
    ghostheaven  
       2017-04-14 23:42:23 +08:00 via Android
    这道题的最优解的复杂度是 nlogn 吧
    ryd994
        27
    ryd994  
       2017-04-15 00:37:09 +08:00 via Android
    @ghostheaven 没什么特别条件的话排序不都是最优 nlogn 嘛

    @snsd 我校学 MATLAB ,讲真我觉得工程学点 MATLAB 和 cad 比学通用语言要有用
    snsd
        28
    snsd  
       2017-04-15 01:02:15 +08:00 via Android
    @ryd994 cad 我们是必修课,但是我搞不懂学 visual foxpro 对职业有什么现实意义?难道去工地上编程?
    green15
        29
    green15  
       2017-04-15 01:24:17 +08:00 via iPhone
    @snsd
    全行业学编程这一点都没错。各种外挂插件就是那些行业内会编程的人搞出来的。
    ryd994
        30
    ryd994  
       2017-04-15 01:26:47 +08:00 via Android
    @snsd 估计微软给钱了,或者教材,或者教师……
    我校学 cad 不学 autocad 学 simens nx 就是因为西门子给钱………
    snsd
        31
    snsd  
       2017-04-15 01:27:18 +08:00 via Android
    @green15 也许是个人观点和现实需求吧,我个人不认为编程在建筑工地上能发挥很大的作用
    snsd
        32
    snsd  
       2017-04-15 01:33:04 +08:00 via Android
    @ryd994 我们学的是 autocad , visual foxpro ,还有广联达。学广联达我没意见,建筑工程做造价肯定会用到。但是尼马的学 visual foxpro 是个啥意思?难道还得去工地上自己编程?真搞不懂我们专业的培养方案是哪个人制定出来的
    hxndg
        33
    hxndg  
       2017-04-15 01:35:28 +08:00
    @touzi 实际上我个人觉得全民编程不太现实。。。
    而且即使全民编程,也不是学习 c++这种可能会让人深恶痛绝的语言。。。
    mathgl
        34
    mathgl  
       2017-04-15 02:21:39 +08:00
    @EmdeBoas 上了一个假的文科?
    webersongao
        35
    webersongao  
       2017-04-15 02:28:12 +08:00 via iPhone
    咱表妹怎么联系😂
    green15
        36
    green15  
       2017-04-15 02:33:55 +08:00 via iPhone
    @ryd994
    机械 or 汽车专业? auto cad 确实没啥好教,西门子也看不上它有啥威胁, inventor 或许还有点威胁。 ug 的在国内竞争对手是 catia 、 sw 、 proe\croe 这些,学校总要在这几个里面挑一个来教吧。


    @snsd
    工具而已,会写脚本来减少重复工作多好。
    starvedcat
        37
    starvedcat  
       2017-04-15 05:47:53 +08:00
    怎么看都是楼主的情商更想令人吐槽
    Tunar
        38
    Tunar  
       2017-04-15 08:32:00 +08:00
    我有个同学学法律的,还要学数据库,,惊了
    msg7086
        39
    msg7086  
       2017-04-15 08:46:25 +08:00
    @snsd 还不如教 CCED 和 dBase 了……( x
    snsd
        40
    snsd  
       2017-04-15 08:48:54 +08:00 via Android
    @msg7086 我想知道有没有程序员在实际工作中用 visual foxpro 来编程?
    zjddp
        41
    zjddp  
       2017-04-15 09:12:25 +08:00
    @msg7086 据我妈说她们大学时候学的就是 CCED
    cwlmxwb
        42
    cwlmxwb  
       2017-04-15 09:39:07 +08:00 via iPhone
    求表妹。。。照片。。
    zscself
        43
    zscself  
       2017-04-15 10:36:51 +08:00
    有一撮人觉得“人人该学一点编程”,另外一撮人觉得“我一个非计科专业的学生,怎么就跑来学计算机了呢?”
    jiongxiaobu
        44
    jiongxiaobu  
       2017-04-15 11:08:35 +08:00 via iPhone
    没什么问题阿 一个问题本身就可以有不同的解法 不是最优解又怎么样呢
    greenmoon55
        45
    greenmoon55  
       2017-04-15 11:22:58 +08:00
    没看出来哪里值得吐槽。。
    Chyroc
        46
    Chyroc  
       2017-04-15 11:23:15 +08:00
    没照片差评
    nyanyh
        47
    nyanyh  
       2017-04-15 11:58:09 +08:00
    @snsd #40 应该是没有了吧,但是 COBOL Fortran 我还是看到过有人用
    yellowV2ex
        48
    yellowV2ex  
       2017-04-15 12:01:23 +08:00
    面向表哥编程
    msg7086
        49
    msg7086  
       2017-04-15 13:32:37 +08:00
    @snsd 有,但是没记错的话差不多是十五年前的事情了。
    undeflife
        50
    undeflife  
       2017-04-15 13:35:49 +08:00
    你讲述了一个事情。吐槽在哪呢?
    wdhwg001
        51
    wdhwg001  
       2017-04-15 14:45:57 +08:00
    刚想说一句 sage ,然后发现这不是岛。
    acdfjelxe
        52
    acdfjelxe  
       2017-04-15 15:27:46 +08:00
    文科又是选修,懒得吐槽。卤煮是来秀表妹的
    snsd
        53
    snsd  
       2017-04-15 15:50:06 +08:00 via Android
    @zscself 我个人觉得,非计算机 /电子 /通信 /信号等这类专业的人学编程,对实际工作似乎没什么太大帮助。(也许是我接触的层次不够高吧)

    @msg7086 那现在实际应用中,有用 visual basic 来编程的吗?
    sunsol
        54
    sunsol  
       2017-04-15 16:07:21 +08:00
    这是让学生自己实现常用数据结构的操作方法,基础入门都是这样,
    只有培训班才会上来就直接用现成轮子吧.
    msg7086
        55
    msg7086  
       2017-04-16 04:19:01 +08:00
    @snsd 有很多吧。其实用什么语言来写并不是那么重要的问题。现在不还有 asp 啊 perl 写的网站么。只要代码写得好,各种语言都不会差得那么多。
    MagaFun
        56
    MagaFun  
       2017-04-16 05:21:35 +08:00
    看到了动物朋友(((
    wdlth
        57
    wdlth  
       2017-04-16 11:50:42 +08:00
    动物朋友,这题的文本是老师出的还是表妹找的……
    KIDJourney
        58
    KIDJourney  
       2017-04-16 13:39:50 +08:00
    一样的题,妹子的老师要求用 C 写。
    我把 hashmap 自己实现了一遍。
    日了狗了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:48 · PVG 03:48 · LAX 11:48 · JFK 14:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.