![](/img/trans.png)
[英]Checking if a string is composed of 3 capital letters and 4 numbers (in JAVA)
[英]How to print out the number of capital letters in a string - java
所以我有需要编写的程序。 我应该从用户那里获得输入字符串,然后打印出字符串中有多少个大写字母和多少个小写字母。 我在书中到处都看过,似乎找不到关于如何打印大写和小写字母的内容。 我也一直在进行大量的Google搜索,但找不到任何有用的信息。
无论如何,这是我的代码:
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");
}
}
}
我知道代码有错误/行不通,但是你们中的任何人都知道我如何获得大写,小写字母的数量来打印出来吗?
提前致谢! 干杯
如果先将字符串转换为char [],则可以轻松完成它们。 然后,您可以将isUpperCase(char c)用于字符串中的每个字符。 http://www.tutorialspoint.com/java/character_isuppercase.htm
public void printCapsAndLowercaseCounts(String s) {
int uppercase = 0;
int lowercase = 0;
if (s != null) {
String s1 = s.toUpperCase();
String s2 = s.toLowerCase();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == s1.charAt(i) ^ s.charAt(i) == s2.charAt(i)) {
if (s.charAt(i) == s1.charAt(i)) uppercase++;
else lowercase++;
}
}
}
System.out.println(uppercase + " " + lowercase);
}
由于某些奇怪的原因,您的for循环引用的是您刚刚声明的空字符串,而不是您刚刚从用户读取的字符串。 但是,如果对此进行更改,则可以在循环中使用strengur.charAt(i)
来获取字符串中的各个字符,并可以使用Character.isUpperCase(ch)
来测试字母是否为大写字母,并且可以检查下一个字母是否为大写。带有Character.isLowerCase(ch)
大小写字母。
我还没有测试过,但是我想做这样的事情。
String text = "This IS My TEXT StrinG";
int upperCaseCounter = 0;
int lowerCaseCounter = 0;
for (int i=0; i<text.length(); i++)
{
if (Character.isUpperCase(text.charAt(i)))
{
upperCaseCounter++;
}
else if(Character.isLowerCase(text.charAt(i)))
{
lowerCaseCounter++;
}
}
System.out.println("Total Uppercase Characters: " + upperCaseCounter);
System.out.println("Total Lowercase Characters: " + lowerCaseCounter);
假设您没有做过多的工作,这似乎可以解决问题。 只需使用一个临时字符串,即可获得两者之间的区别:
int capLetterCount = originalString.length() - originalString.replaceAll("[AZ]", "").length();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.