到目前为止我很熟悉toLowerCase()和toUpperCase()。让我们说我的问题与每个角色相反,从上到下,从下到上。实施例
STRing - > string,java如何知道字符是否大写?
答案 0 :(得分:2)
有几种方法可以确定Java中的字符是大写还是小写。 Java确实提供了一组可用于执行测试的实用程序方法。请参阅Character.isUpperCase(char)和Character.isLowerCase(char)
Java中的字符是ASCII。每个字母都用数字表示,因此我们可以进行算术比较,看看字母是否在一个范围内。这意味着您也可以自己进行测试:
public boolean isLowerCase(char c) {
return c <= 'z' && c >= 'a';
}
public boolean isUpperCase(char c) {
return c <= 'Z' && c >= 'A';
}
我们可以将这些方法与String.charAt:
结合使用public Result countCaseWithCharAt(String sentence) {
Result result = new Result();
for(int i = 0; i < sentence.length(); i++ ) {
if(Character.isLowerCase(sentence.charAt(i))) {
result.lowerCaseCount++;
} else if(Character.isUpperCase(sentence.charAt(i))){
result.upperCaseCount++;
}
}
return result;
}
static class Result {
public int lowerCaseCount = 0;
public int upperCaseCount = 0;
}
但是,由于您尝试切换字符,因此您可能希望使用字符串中除charAt之外的其他方法。您可以使用String.toCharArray()来生成String中每个字符的中间结构。
public Result countCaseWithCharAtAndArray(String sentence) {
char[] characters = sentence.toCharArray();
Result result = new Result();
for(char current : characters) {
if(Character.isLowerCase(current)) {
result.lowerCaseCount++;
} else if(Character.isUpperCase(current)){
result.upperCaseCount++;
}
}
return result;
}
在关于我们迭代字符的中间结构的示例中。由于我们创建了这个结构,因此我们不必为每个字符执行字符串提取,并且我们不会使用这些愚蠢的整数进行迭代。
我知道你提到你知道toUpperCase和toLowerCase但我想我也会提到你可以再次自己执行这些转换。小写&#39; a&#39; ASCII表中的值大于大写&#39; A&#39;。所以我们做了类似的事情:'a' - 'A'
我们会得到两者之间的区别。这意味着我们可以通过从字母中减去该值来大写字母。通过执行相反的lowerCaseCharacter + ('a' - 'A')
,{/ 1}}或小写您的角色。我不认为你应该这样做,但你可以。
答案 1 :(得分:0)
你能做的是......
if (Character.toUpperCase(c) == c){
c = Character.toLowerCase(c);
} else {
c = Character.toUpperCase(c);
}
答案 2 :(得分:0)
嗯......实现这一目标的最简单方法是执行以下操作:
根据每个案例,使用问题中描述的两种你方法之一:
toLowerCase() toUpperCase()
根据角色的情况而定。
所以,让我们说我们遇到一个大写字符。我们想做什么?我们想把它变成小写。我们可以在if语句中说:
if(we come across an upper case letter)
Make it a lowercase letter!
现在,我们可以说我们遇到了一个小写字符。我们想做什么?我们想让它成功。我们可以在if语句中说:
if(we come across an lower case letter)
Make it an uppercase letter!
所以,现在我们得到了逻辑。 在编程中,在你做之前了解你将要做什么非常重要。那么,我们如何在实际的java代码中表示这两个if语句?
嗯,这是第一个,uppercase -> lowercase
:
if (Character.isUpperCase(a)){ //This means, it is already uppercase
a = Character.toLowerCase(a); //Lets make it lowercase!
这是第二个! lowercase -> uppercase
:
if (Character.isLowerCase(a)){ //This means, it is already lowercase
a = Character.toLowerCase(a); //Lets make it lowercase!
这就是你在字符串中迭代的地方,而a是字符串的字符!
如果这个有用,请标记为最佳答案(在“按钮”下方勾选标记)。如果您有任何问题,请随时提出,我很乐意提供帮助。