• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lishunan246
V2EX  ›  程序员

这个槽我一定要吐。。

  •  
  •   lishunan246 · Apr 14, 2017 · 9556 views
    This topic created in 3500 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Apr 15, 2017
    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());
        }
    }
    
    Supplement 2  ·  Apr 15, 2017
    我只是觉得现在课程真是可怕啊
    ```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 replies  •  2017-04-16 13:39:50 +08:00
    paradoxs
    paradoxs
    Apr 14, 2017 via iPhone
    1
    顺序截取字母,放到 switch case 里面
    hxndg
    hxndg
    Apr 14, 2017
    2
    反正我知道北邮的经管也要学 c++,我觉得是疯了。。。。
    meisei81
    meisei81
    Apr 14, 2017
    3
    八周不就两个月么。半学期讲基本语法没毛病吧。
    zhujinliang
    zhujinliang
    Apr 14, 2017
    4
    那就先排序,然后跑一遍就统计出来了
    fantastM
    fantastM
    Apr 14, 2017 via iPhone❤️8
    5
    表妹怎么联系(逃…
    touzi
    touzi
    Apr 14, 2017
    6
    @hxndg 全民编程时代已经来临.
    wly19960911
    wly19960911
    Apr 14, 2017 via Android❤️1
    7
    @hxndg 选修

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

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

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


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

    @msg7086 那现在实际应用中,有用 visual basic 来编程的吗?
    sunsol
    sunsol
    Apr 15, 2017
    54
    这是让学生自己实现常用数据结构的操作方法,基础入门都是这样,
    只有培训班才会上来就直接用现成轮子吧.
    msg7086
    msg7086
    Apr 16, 2017
    55
    @snsd 有很多吧。其实用什么语言来写并不是那么重要的问题。现在不还有 asp 啊 perl 写的网站么。只要代码写得好,各种语言都不会差得那么多。
    MagaFun
    MagaFun
    Apr 16, 2017
    56
    看到了动物朋友(((
    wdlth
    wdlth
    Apr 16, 2017
    57
    动物朋友,这题的文本是老师出的还是表妹找的……
    KIDJourney
    KIDJourney
    Apr 16, 2017
    58
    一样的题,妹子的老师要求用 C 写。
    我把 hashmap 自己实现了一遍。
    日了狗了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   968 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 22:34 · PVG 06:34 · LAX 14:34 · JFK 17:34
    ♥ Do have faith in what you're doing.