我有一系列字符串 我需要在每个字符串中找到第一个大写字符的位置。
我该怎么做? 有人可以在java中为我提供示例代码吗?
import java.util.*;
public class IPLRank {
public int n=0;
private Scanner sc;
public void ranks(){
sc = new Scanner(System.in);
System.out.println("Enter number of teams");
n = sc.nextInt();
char teams[][] = new char [n][50];
System.out.println("Enter teams");
for(int i=0;i<n;i++){
for (int j=0; j<50; j++)
teams[i][j] = sc.next().charAt(0);
}
for(int i=0;i<n;i++){
for (int j=0; j<50; j++)
System.out.println("Teams are "+teams[i][j]);
}
}
public static void main(String args[]){
IPLRank r = new IPLRank(); r.ranks();
}
答案 0 :(得分:3)
试试这个:
for (String s : arrayOfStrings) {
for (int i = 0; i < s.length(); ++i) {
if (Character.isUpperCase(s.charAt(i)) {
System.out.println("First capital letter of string " + i + " is: " + s.charAt(i);
}
}
}
答案 1 :(得分:2)
要查找第一个大写字母的索引,可以遍历字符串的char数组并使用Character.isUppercase(Char c)方法
public int firstUpperCaseIndex(String str) {
for(int i=0; i<str.length(); i++) {
if(Character.isUpperCase(str.charAt(i))) {
return i;
}
}
return -1;
}
答案 2 :(得分:2)
65到90是大写字母的ascii代码范围。
见这里。 http://www.ascii-code.com/
所以这是适合你的方法。
public static int getFirstCapitalCharacterPosition(String x) {
for(int i=0; i< x.length(); i++) {
int val = x.charAt(i);
if(val >= 65 && val <=90) {
return i;
}
}
return -1;
}
public static void main(String [] args) {
String array = {"teSt","Test", "tesT"};
for(String x : array) {
System.out.println(getFirstCapitalCharacterPosition(x));
}
}
答案 3 :(得分:0)
我建议你看一下ASCII表。它可能会解决你的问题。