그래서이 프로그램에서는 사용자로부터 세 개의 문자열을 얻어 알파벳 순으로 정렬해야합니다. 주의해야 할 점은 배열을 사용할 수 없다는 것입니다. 또한 문자열이 영문자로 시작하지 않으면 허용되지 않습니다. 지금까지 나는 사용자로부터 세 문자열을 얻었고이를 받아 들여야하는지 아닌지를 결정할 수있었습니다. 내가 알 수없는 것은 사전 순으로 정렬하는 방법입니다. 내가 가지고있는 주요 문제는 정렬 할 때 받아 들여지지 않은 문자열을 무시하는 것이다. 다음은 사용자로부터 문자열을 가져 오는 코드입니다.자바에서 배열없이 알파벳순으로 문자열 정렬
Scanner scan = new Scanner(System.in);
System.out.print("Please input the first name: ");
String name1 = scan.nextLine();
name1 = name1.substring(0, 1).toUpperCase() + name1.substring(1,name1.length()).toLowerCase();
if (name1.charAt(0) >= 'A' && name1.charAt(0) <= 'Z'){
System.out.println("The first name is: " + name1);
}else{
System.out.println("Error: The name was not accepted");
name1 = null;
}
System.out.print("Please input the second name: ");
String name2 = scan.nextLine();
name2 = name2.substring(0, 1).toUpperCase() + name2.substring(1,name2.length()).toLowerCase();
if (name2.charAt(0) >= 'A' && name2.charAt(0) <= 'Z'){
System.out.println("The second name is: " + name2);
}else{
System.out.println("Error: The name was not accepted");
name2 = null;
}
System.out.print("Please input the third name: ");
String name3 = scan.nextLine();
name3 = name3.substring(0, 1).toUpperCase() + name3.substring(1,name3.length()).toLowerCase();
if (name3.charAt(0) >= 'A' && name3.charAt(0) <= 'Z'){
System.out.println("The third name is: " + name3);
}else{
System.out.println("Error: The name was not accepted");
name3 = null;
}
왜 배열을 사용할 수없는 이유는 무엇입니까? 'Arrays.sort'는 정렬 작업을 수행하는 위대하고 간단한 방법입니다 ... – Krease
숙제 때문입니다. 공정하게 말하면, 이것은 "나를 위해 숙제를 하느라."는 경우가 아닙니다. –
어리석은 요구 사항을 감안할 때, 나는'( data) *'라는 단 하나의 거대한 문자열을 만든 다음 매번 다시 작성하고 삽입 정렬을 수행 할 것입니다. –