0

私は文字列の配列を持っています。
各文字列の最初の大文字の位置を見つける必要があります。

どうすればできますか?
誰かが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

4 に答える 4

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);
        }
    }
}
于 2013-06-19T12:25:25.477 に答える
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;
}
于 2013-06-19T12:24:49.523 に答える
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));
    }  
}
于 2013-06-19T12:32:42.450 に答える
0

ASCII テーブルを参照することをお勧めします。それはおそらくあなたの問題を解決します。

于 2013-06-19T12:24:48.067 に答える