学校からの作品では、入力によってフルネームを10個まで使用する必要があります。各フルネームには少なくとも3つの名前が必要です長さに達したときに終了するか、または「end」と書いたときにすでに有効な名前が5つあります。この後、フルネーム、ラストネーム、ランダムなミドルネームの名前を取得する必要があります。私たちはJava noobsであり、助けが必要です。10個のフルネーム(複数の名前を持つ)と多くの制限を受け取ります
文字列から、我々は唯一の方法で使用することができます。これは、今我々が持っているコードであるのcharAt(int型)、長さ()、のindexOf(...)、(トリム)とSUBSTRING(...)
をそれ私たちがどこにも行かないようだが、最新の問題は配列がどうにかしてスクランブルされるということだ。
static List<String[]> listarrays = new ArrayList<String[]>();
private static Scanner keyboard;
public static void main(String[] args) {
System.out.println("10 nomes");
for(int i= 0 ; i<10; i++){
keyboard = new Scanner(System.in);
String input = keyboard.nextLine();
inputtoarray(input);
if (input.equalsIgnoreCase("fim")){
break;
}
}
String [][] arrayofnames = listtoarray(listarrays);
System.out.print(Arrays.toString(arrayofnames[1]));
}
public static void SetToArrayString(Set<String> set){
String[] array = new String[set.size()];
int index = 0;
for(String i : set) {
array[index++] = i;
}
listarrays.add(array);
}
public static String[][] listtoarray(List<String[]> list){
String[][] array = new String[list.size()][];
int index = 0 ;
for(String[] i : list){
array[index++] = i;
}
String[][] arrayofnames = array;
return arrayofnames;
}
public static void inputtoarray(String input){
int length = 0;
Set<String> names = new HashSet<String>();
for (int i = 0 ; i < input.length(); i++){
char a_char = input.charAt(i);
if (a_char == ' '){
String word1 = input.substring(length,i+1);
length += word1.length();
names.add(word1);
}
if (i == input.length() - 1){
String word1 = input.substring(length, i+1);
names.add(word1);
}
}
P04BaralhadorDeNomes.SetToArrayString(names);
}
どうかお手伝いしてください。