如何打印字符串中的大写字母数
所以我有一个我需要写的程序。我应该从用户那里得到一个输入字符串,然后打印出字符串中有多少个大写字母和多少个小写字母。我在我的书中到处都找过了,但似乎找不到任何关于如何打印大写和小写字母的信息。我也做了很多谷歌搜索,但找不到任何有用的东西
无论如何,这是我的代码:
import java.util.Scanner; //calls out the method to get input from user
public class Verk1 {
public static void main(String args[])
{
Scanner innslattur = new Scanner(System.in); //input gotten from user
System.out.println("Sláðu inn textabrot í há- og lágstöfum.");
System.out.println("Forritið mun þá segja þér hve margir stafir eru af hverri gerð.");
System.out.println("Textabrot: ");
//The printouts before tell the user to enter in a string, the program will then print out //how many upper- and lowercase letters there are.
String strengur = innslattur.nextLine();
String hastafir = "";
for (int i=0; i<hastafir.length();i++);
{
System.out.println("Í textabrotinu eru " + hastafir + " hástafir");
}
}
}
我知道代码有问题/不起作用,但你们谁知道我是如何得到大小写字母的数量来打印出来的
提前谢谢! 干杯
# 1 楼答案
我还没有测试过,但我希望能做这样的事情
# 2 楼答案
# 3 楼答案
出于某种奇怪的原因,For循环引用的是刚刚声明的空字符串,而不是刚刚从用户处读入的字符串。但是,如果您改变了这一点,那么在循环中,您可以使用
strengur.charAt(i)
获取字符串中的各个字符,并且可以使用Character.isUpperCase(ch)
测试字母是否为大写字母,并且可以使用Character.isLowerCase(ch)
检查小写字母# 4 楼答案
如果你没有做得太多的话,这似乎会起作用。只需使用一个临时字符串,并获得两者之间的差异:
int capLetterCount = originalString.length() - originalString.replaceAll("[A-Z]", "").length();
# 5 楼答案
如果首先将字符串转换为char[],则可以相当轻松地完成这些操作。然后可以对字符串中的每个字符使用isUpperCase(char c)http://www.tutorialspoint.com/java/character_isuppercase.htm