所以我要写这个程序。我应该从用户那里得到一个输入字符串,然后打印出字符串中有多少个大写字母和多少个小写字母。我在这本书里到处找了,但似乎找不到任何关于如何打印大小写字母的东西。我也做了很多谷歌搜索,但找不到任何有用的东西。
总之,这是我的密码:
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");
}
}
}
我知道代码有问题/不起作用,但你们谁知道我是如何得到大小写字母的数目来打印出来的?
提前谢谢!干杯
5条答案
按热度按时间7nbnzgx91#
如果你没有做得太多的话,这似乎可以达到目的。只需使用一个临时字符串,并获得两者之间的差异:
int capLetterCount = originalString.length() - originalString.replaceAll("[A-Z]", "").length();
2w2cym1i2#
如果先将字符串转换为char[],则可以很容易地完成这些操作。然后可以对字符串中的每个字符使用isuppercase(char c)。http://www.tutorialspoint.com/java/character_isuppercase.htm
ftf50wuq3#
我还没有测试过,但我希望能做这样的事情。
igsr9ssn4#
eiee3dmh5#
出于某种奇怪的原因,for循环引用的是刚声明的空字符串,而不是刚从用户处读入的字符串。但是,如果您改变了这一点,您可以在循环中使用
strengur.charAt(i)
你可以测试一个字母是否大写Character.isUpperCase(ch)
你可以用Character.isLowerCase(ch)
.