Java 与countletters方法一起使用的位置方法。

Java 与countletters方法一起使用的位置方法。,java,Java,我用两种方法更新了代码,而不是以前的方法。但我仍然陷入困境,不知道如何创建和调用一个方法来替换Character.isleter(s.charAt(I))。假设此方法接收一个char,并返回一个int,与countLetter()方法一起使用。 这些方法是: int [] countLetters (string s), int pos(char x), and void printResults(int[] counts) 是的,int[]countLetters确实需要返回一个数组。我只是

我用两种方法更新了代码,而不是以前的方法。但我仍然陷入困境,不知道如何创建和调用一个方法来替换Character.isleter(s.charAt(I))。假设此方法接收一个char,并返回一个int,与countLetter()方法一起使用。
这些方法是:

int [] countLetters (string s), int pos(char x), and void printResults(int[] counts)
是的,int[]countLetters确实需要返回一个数组。我只是想知道如何让pos方法代替character.isleter工作

以下是我到目前为止得到的信息:

import java.util.Scanner;


public class CharCount {


public static Scanner kbd = new Scanner(System.in);

public static void main(String[] args) {

    System.out.println("Enter a string: ");
    printResults(null);

}

/*
 * This method counts the number of occurrences in the inputed
 * string and returns the array with the count.
 */
public static int[] countletters(String s){

    int[] counts = new int[26];

       for(int i = 0; i < s.length(); i++){
           if (Character.isLetter(s.charAt(i))){
              counts[(int)s.charAt(i) - 'a']++;
           }

    }
    return counts;
}
public static int pos(char x){
    return (int)charAt();
}

private static int charAt() {
    // TODO Auto-generated method stub
    return 0;
}

/*
 * This method prints the results of the string count
 */
public static void printResults(int[] counts){

    String s = kbd.nextLine();
    counts = countletters(s.toLowerCase());
    System.out.println("\nLetter frequencies:");
    for (int i =0; i < counts.length; i++){
        if (counts[i] != 0){
            System.out.println((char)('a' + i) + " - " + counts[i] );
        }
    }
}
import java.util.Scanner;
公共类字符数{
公共静态扫描仪kbd=新扫描仪(System.in);
公共静态void main(字符串[]args){
System.out.println(“输入字符串:”);
打印结果(空);
}
/*
*此方法统计输入数据中出现的次数
*字符串并返回带有计数的数组。
*/
公共静态int[]计数字母(字符串s){
int[]计数=新的int[26];
对于(int i=0;i
}

我觉得我需要从
counts[(int)s.charAt(I)-'a']+
开始,并将其移动到print方法


谢谢

我不会为您发布代码,因为这是家庭作业,但是您的pos方法应该返回字符在字母表中的相对位置。所以“a”将返回0,“b”返回1,“c”返回2

我自己,我会改变字符的大小写,由你选择,然后从中减去一个数字(或者实际上是一个字符),然后返回它


然后,for循环中的
countletters(…)
方法将使用
pos(…)
方法来确定要递增的数组索引。请注意,您应该讨论您的
charAt()
方法,因为它除了混淆之外没有其他用途。

如果这是我的任务,我会先创建三个方法,它们一开始是空的,然后我会尝试开始尝试填充它们,一次一个,一边测试每个方法。考虑一下这个问题,因为它可能过早地被问到,尝试自己做这件事,然后再返回一个更具体的问题,如果仍然被卡住。注意你的问题有“<代码> CONTURNEX 方法被声明来返回一个int数组。你确定这是正确的,它应该是一个数组吗?第二种方法声明不正确,也不可理解——请澄清。你应该自己尝试做这一点,而不是让互联网为你做。您已经确定了要提取的一段代码。我更新了我的程序,并设法从主程序中分解出第二种方法。我只是想不出为了分离POS方法应该分解什么,我很确定它是以某种方式使用if(Character.isleter(s.charAt(I)){…但是我想不出如何开始自己创建它。