java - 代码编译,但不返回任何东西

标签 java

<分区>

我有一个作业,其中有两个类,一个驱动程序类,它使用扫描仪实用程序从键盘读取字符串,然后记录它的字母频率。 (每个字母在输入的字符串中出现了多少次)。我的程序应该继续输入文本行,直到您连续键入两个 Return。然后代码应该打印字母频率,然后是给出最频繁字母及其计数的报告(如果最频繁字母出现平局,任何最频繁字母都可以)。此外,我的代码忽略了字母大小写 - 因此应该计算大写字母和小写字母。

我的驱动类是

import java.util.*;

public class LetterDriver{
  public static void main(String[] args){
    Scanner s = new Scanner(System.in);
    String tScan = " ";
    while(tScan.length() > 0){
      tScan = s.nextLine();
    }
  }
}

我的实际配置文件类是

public class LetterProfile {
  int score[] = new int [26];

 public void countChars (String s) {
    s.toLowerCase();
    char a = 'a';
    for (int i = 0; i < s.length(); i++) {
      int next = (int)s.charAt(i) - (int) a;
      if ( next<26 && next >= 0)
        score[next]++;
    }
 }

    public void scoreLine (String lines) {  // prints letter + # of appearance
      int index = lines.length();
      for (int j = 0; j<index; j++) {
        score[j]++;
        System.out.println(j + score[j]);
     }
 }

    public int largestLength() { // finds most frequent letter
      int largest = 0;
      int largestindex = 0;
      for(int a = 0; a<26; a++) 
        if(score[a]>largest){
        largest = score[a];
        largestindex = a;
      }
      return largestindex;

    }


    public void printResults() {
       largestLength();
      System.out.println(largestLength());
    }
  }

我的代码再次编译,当我运行它时,它允许我输入我的文本,但是当我返回两次时,我得到的只是空白输出。我认为这可能与我的配置文件类有关,无法从我的驱动程序类中正确读取,但无法找出问题所在。

最佳答案

您只是在 main 方法中从扫描仪读取数据,您没有在 Main 方法中实例化类 LetterProfile,因此它什么都不做。

关于java - 代码编译,但不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15506248/

相关文章:

java - 使用串联和 Varray 将值插入表中

java - Apache Storm Supervisor 未运行 Bolt

java - 在 session 超时时删除自定义 cookie

java - 如何将 String 转换为 Java.util.Date 包括 ISO8601

java - 使用多个ManyToMany关系时的org.hibernate.exception.ConstraintViolationException

java - GWT Date 相当于 java.util.Calendar

java - MyBatis:将字符串映射到 boolean 值

java - 为 Restful 方法编写 RequestBody

java - 在Java中将参数从一个进程传递到另一个进程

java - 无法通过java运行cmd命令