我在大学里有一个家庭作业问题,我遇到了麻烦,我想知道是否有人可以给我一些关于它去哪里的建议。我们正在使用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
}
});
}
});
答案 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));
}