如何打印字符串中的大写字母数-java
所以我有一个我需要写的程序。我应该从用户那里得到一个输入字符串,然后打印出字符串中有多少个大写字母和多少个小写字母。我在我的书中到处都找过了,但似乎找不到任何关于如何打印大写和小写字母的信息。我也做了很多谷歌搜索,但找不到任何有用的东西 无论如何,这是我的代码:如何打印字符串中的大写字母数-java,java,string,printing,uppercase,lowercase,Java,String,Printing,Uppercase,Lowercase,所以我有一个我需要写的程序。我应该从用户那里得到一个输入字符串,然后打印出字符串中有多少个大写字母和多少个小写字母。我在我的书中到处都找过了,但似乎找不到任何关于如何打印大写和小写字母的信息。我也做了很多谷歌搜索,但找不到任何有用的东西 无论如何,这是我的代码: import java.util.Scanner; //calls out the method to get input from user public class Verk1 { public static void m
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");
}
}
}
import java.util.Scanner//调用方法以从用户获取输入
公共类Verk1{
公共静态void main(字符串参数[])
{
Scanner innslattur=新扫描仪(System.in);//从用户处获取的输入
System.out.println(“斯拉ðu inn textabrotíhá-og lágstöfum.”);
系统输出打印(“Forritiðmunþásegjaþr hve margir stafir eru af hverri gerð”);
System.out.println(“Textabrot:”);
//打印输出之前会告诉用户输入一个字符串,然后程序会打印//有多少个大写和小写字母。
String strengur=innslattur.nextLine();
字符串hastafir=“”;
对于(int i=0;i如果您先将字符串转换为char[],则可以相当轻松地执行它们。然后可以对字符串中的每个字符使用isUpperCase(char c)。public void printcaps和lowercasecocounts(string s){
int大写=0;
int小写=0;
如果(s!=null){
字符串s1=s.toUpperCase();
字符串s2=s.toLowerCase();
对于(int i=0;i
出于某种奇怪的原因,For循环引用的是您刚刚声明的空字符串,而不是您刚从用户处读入的字符串。但是,如果您更改了该字符串,您可以在循环中使用strengur.charAt(i)获取字符串中的各个字符
你可以用字符测试字母是否大写。isUpperCase(ch)
你可以用字符检查小写字母。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);
String text=“这是我的文本字符串”;
int大写计数器=0;
int小写计数器=0;
对于(int i=0;i来说,假设您没有做过多的操作,那么这样做就可以了。只需使用一个临时字符串,并获得两者之间的差异:
int-capLetterCount=originalString.length()-originalString.replaceAll(“[A-Z]”,“”)。length();
检查Java程序以测试字符是否为大写:使用循环遍历字符,然后使用保持计数。在同一循环中以相同的方式计算小写,确保考虑空格和非字母字符。为什么要创建两个字符串副本,一个大写,一个小写,而不是只检查每个副本是否为大写字符isUpperCase
或isLowerCase
?此外,这里的XOR用法令人困惑,s1
和s2
变量的作用域不正确,名称也没有帮助。这段代码甚至不会编译。我还要补充(不必要)相等性测试周围的括号。我必须查找==vs.^的相对优先级以确保这是正确的。众所周知,正则表达式是每个问题的正确解决方案。干杯!这是可行的,但它有一个缺陷。当它打印出小写字母数时,它会打印出所有字母,包括空格。知道为什么吗?很高兴它能为您工作!它到底打印出什么?text.length()?是的,它打印出字符串的长度,而不仅仅是小写字母的数量,这是我的错误,您编写的代码工作得很好。我不小心在else if语句后面放了一个分号。啊…很高兴听到它!我真的搞不懂:)
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);