java中的字符比较

时间:2013-06-19 12:21:04

标签: java

我有一系列字符串 我需要在每个字符串中找到第一个大写字符的位置。

我该怎么做? 有人可以在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(); 
    } 

4 个答案:

答案 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表。它可能会解决你的问题。