【发布时间】:2015-11-25 01:36:40
【问题描述】:
我已经解决这个问题两天了,不知道我哪里出错了。
基本上我需要向用户询问一串单词。
我需要设置一个包含 26 个元素的 int 数组,其中包含小写字母的数量和大写字母的数量。
我无法让程序正确地与数组元素进行比较。到目前为止,这是我的代码:
public class Lab17Array {
public static void main(String[] args)
{
Scanner kb = new Scanner (System.in);
int lLetter = 0;
int uLetter = 0;
// int[] alph = new int [26];
int alph [] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int Alph [] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
System.out.println("Enter a phrase");
String user = kb.nextLine();
// to print out length of word
System.out.println("Total number of letters is " + user.length());
for(int i = 0; i < user.length(); i++)
{
}
System.out.println("Upper case letters are:" + uLetter);
System.out.println("Lower case letters are:" + lLetter);
int otherL = user.length() - (uLetter + lLetter);
// to print out other chars that aren't letters
System.out.println("Number of all other letters is " + otherL );
}
}
在我的 for 循环中,我一直在尝试不同的 if 条件。我不知道我错过了什么?
【问题讨论】:
-
试试 Character.isUpperCase() / .isLowerCase()
-
确实有效。我在我的 for 循环中使用了它。 for(int i = 0; i
-
我根本没有看到任何类型的柜台。另外,您还有这些数组或字符
alph和Alph您不使用。既然我在这里:不要有 2 个名称因大小写而异的变量 - 它会回来咬你... -
我应该把我用于柜台的代码留在里面,我在复制之前把它拿出来了。感谢您提供有关 var 名称的提示。我会记住这一点的。
-
您需要对每个字母进行计数,还是只对所有上部进行计数,对所有下部进行计数?如果是每个字母,那么您注释掉的
alph看起来您比当前版本更接近正确的轨道。只需要弄清楚“如何根据ASCII字符代码索引alph....”