需要Java String函数帮助

时间:2015-07-30 11:25:18

标签: java arrays string function

我在大学里有一个家庭作业问题,我遇到了麻烦,我想知道是否有人可以给我一些关于它去哪里的建议。我们正在使用Arrays,for循环,if else和Strings。

我必须创建一个程序来接受许多人的名字,然后把它们放在一个数组中(我没有问题)然后我需要根据每个名字的第一个字母分隔数组中的名字: AG在一个阵列中,HP在另一个阵列中,其余在最终阵列中。

我被告知为此使用字符串函数但不使用列表或字符。 这是我到目前为止的代码:

var params = { 'login': "emporio", 'password': "somepass"};
QB.login(params, function(err, user){
  if (user) {
    // success
  } else  {

    // error, user not registered yet
    QB.users.create(params, function(err, user){
      if (user) {
        // success

        QB.login(params, function(err, user){
          if (user) {
            // success
          } else  {
            // error
          }
        });

      } else  {
        // error
      }
    });
  }
});

2 个答案:

答案 0 :(得分:0)

Please Use below logic and get result according to your requirement..
package com.test;
public class Namessplite {
    public static void main(String args[]){
    String[] names={"ABC","CAD","JKL","MNO"}; // these are names for example
    String[] atog_group = new String[10];
    String[] gtopgroup=  new String[10];
    int j=0,k=0;
    for(int i=0;i<names.length;i++){
        if((int)names[i].charAt(0)<72 && (int)names[i].charAt(0)>64){
            atog_group[j]=names[i];
            j++;
        }else{
            gtopgroup[k]=names[i];
            k++;
        }
    }
    System.out.println("A TO G Names Are :: ");
        for(int m=0;m<j;m++){
            System.out.println(atog_group[m]);  
        }
                System.out.println("G TO P Names Are :: ");
        for(int m=0;m<k;m++){
            System.out.println(gtopgroup[m]);   
        }
    }
}

答案 1 :(得分:0)

Java 8 Style:

private static void splitNamesToArray(String[] names) {

    String[] aToG = Arrays.stream(names).filter(n -> n.toUpperCase().charAt(0) >= 65 && n.toUpperCase().charAt(0) <= 71).toArray(String[]::new);
    String[] hToP = Arrays.stream(names).filter(n -> n.toUpperCase().charAt(0) >= 72 && n.toUpperCase().charAt(0) <= 80).toArray(String[]::new);
    String[] rest = Arrays.stream(names).filter(n -> n.toUpperCase().charAt(0) >= 81 && n.toUpperCase().charAt(0) <= 90).toArray(String[]::new);

    System.out.println("A to G: " + Arrays.toString(aToG));
    System.out.println("H to P: " + Arrays.toString(hToP));
    System.out.println("Rest: " + Arrays.toString(rest));
}