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);
}
}
为什么这段代码不起作用? 它只需要输入但不会返回计数!
答案 0 :(得分:3)
System.out.println(countUppercase(s));
因为您没有打印输出
答案 1 :(得分:1)
你试过吗
if(Character.isUpperCase(s.charAt(i)))
{
count++;
}
修改强> 我刚刚执行了你的代码。它的工作正常。唯一的问题是你没有打印结果。这是你的问题吗?
int nUpperCase = countUppercase(s);
System.out.println(nUpperCase );
答案 2 :(得分:0)
你确定它没有返回计数吗?
调用方法时:
countUppercase(s);
您不使用返回值。
试试这个例子:
int count = countUppercase(s);
System.out.println("count is " + count);
答案 3 :(得分:0)
您没有打印输出。 您也可以尝试以下代码:
for (int i=0; i<input.length(); i++)
{
for(char c='A'; c<='Z'; c++)
{
if (input.charAt(i) == c)
{
upperCaseCount++;
}
}
}