-1
import java.util.Scanner;
 public class Test{
  public static int countUppercase(String s){
  int count = 0;
 for(int i = 0; i<s.length(); i++){
 if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){
 count++;
}
} 

 return count;
 }
 public static void main(String[] args){
System.out.println("Please enter a word to check for uppercase:");
  Scanner input = new Scanner(System.in);

  String s=input.nextLine();
  countUppercase(s);
   }
 }

为什么这段代码不起作用?它只接受输入但不返回计数!

4

4 回答 4

3
System.out.println(countUppercase(s));

因为您没有打印输出

于 2012-11-21T04:17:47.457 回答
1

你有没有尝试过

if(Character.isUpperCase(s.charAt(i)))
{
     count++;
}

编辑 我刚刚执行了你的代码。它工作正常。唯一的问题是您没有打印结果。那是你的问题吗?

int nUpperCase = countUppercase(s);
System.out.println(nUpperCase );
于 2012-11-21T04:16:55.053 回答
0

你确定它不返回计数吗?

当您调用该方法时:

countUppercase(s);

你不使用返回值。

试试这个例如:

int count = countUppercase(s);
System.out.println("count is " + count);
于 2012-11-21T04:19:26.807 回答
0

您没有打印输出。您也可以尝试以下代码:

for (int i=0; i<input.length(); i++)
{
     for(char c='A'; c<='Z'; c++)
    {
           if (input.charAt(i) == c)
          {
                    upperCaseCount++;
          }
     }
}
于 2012-11-21T04:19:44.940 回答