【问题标题】:Letter Counter Using Array使用数组的字母计数器
【发布时间】:2015-11-08 20:02:49
【问题描述】:

我正在为我的 cs 1 课程建立一个实验室,并且对如何编写此代码感到困惑。任务是使用数组编写代码来计算用户输入的字符串中的字母。我查看了与我的非常相似的其他问题,但解决方案通常包括使用我尚未学习的“HashMap”。我还需要使用 ASCII 字符来帮助计数。

具体的说明可以在问题 b 下找到: https://drive.google.com/file/d/0B0BS8YbiOmdecWlEWlh4T1RocDg/view?usp=sharing

感谢您的宝贵时间!

这是我目前所拥有的,全部在我的主要方法中:

System.out.print("Please enter a string: ");
    String a = input.nextLine();
    int[] myArray = new int[256];

    int count = 0;
    for (int i=0; i < myArray.length; i++)
    {
        if((a.charAt(i) == 'a') || (a.charAt(i) == 'A'))
        {
             count++;
        }
        System.out.println(count);

【问题讨论】:

  • 那么这段代码有什么作用呢?有什么错误吗?我也不明白myArray 变量的意义。
  • 您可以使用字符的 ASCII 码作为数组中的索引,并在该索引处存储该特定字符的出现次数。
  • @JackWilliams 对于我假设的计数,它会输出很多 0 和 1。老实说,我并不是真的“myArray”变量的意义是什么。我想我是通过在线查看类似代码得到的
  • @hotzst 我该怎么做呢?抱歉,我对此还是很陌生。
  • 从重命名开始(命名是编程中最重要的一项活动)myArraycountOfEachEnglishLetter

标签: java counter


【解决方案1】:

我想在不做所有功课的情况下帮助你

  • 你通过 myArray 来计算一些东西,为什么不通过输入(你命名为 a

在这些行中:

for (int i=0; i < myArray.length; i++)
    {

你怎么能通过 a 而不是 myArray ?

  • 你能用myArray来存储每种字符的计数吗?

例如myArray[25]++;将第25个字符的计数增加2ascii_value

  • 您可以使用 myinteger = (int)mycharacter 将字符转换为适合索引数组的整数

例如int ascii_value = (int)a.charAt(3); 将存储ascii_value 中第三个字符的ascii 值。如何存储第 i 个字符的 ascii 值?

【讨论】:

  • 好吧,我不太确定如何诚实地做这些事情。
  • @Adam7397 我添加了一些提示。够了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-09
  • 2020-03-21
相关资源
最近更新 更多