5명의 사람 이름을 입력 받아서 ArrayList에 저장한 후에 이들 중 '김'씨 성을 가진 사람을 모두 출력하시오.
public class ArrayListTest02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> names = new ArrayList<>();
for(int i = 0; i < 5; i++){
System.out.println("이름을 입력하세요.");
String name = sc.nextLine();
names.add(name);
}
ArrayList<String> kim = new ArrayList<>();
for(int i = 0; i < 5; i++){
String firstName = names.get(i).substring(0,1);
if(firstName.equals("김")){
kim.add(names.get(i));
}
}
System.out.println(kim.toString());
Scanner scan = new Scanner(System.in);
ArrayList<String> nameList = new ArrayList<>();
for(int i = 1; i <= 5; i++){
System.out.println(i + "번째 사람의 이름을 입력하세요.");
String name = scan.nextLine();
nameList.add(name);
}
System.out.println();
System.out.println("김씨 성을 가진 사람들...");
for(int i = 0; i < nameList.size(); i++){
if(nameList.get(i).startsWith("김")){
System.out.println(nameList.get(i));
}
}
}
}
5명의 별명을 입력 받아 ArrayList에 저장하고 이들 중 별명의 길이가 제일 긴 별명을 출력하시오. (단, 각 별명의 길이는 모두 다르게 입력한다.)
public class ArrayListTest03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> names = new ArrayList<>();
for(int i = 1; i <= 5; i++){
System.out.println(i + "번째 사람의 별명을 입력하시오.");
String name = sc.nextLine();
int lang = name.length();
if(i > 1){
for(int j = 0; j < i-1; j++){
if(names.get(j).length() == lang){
System.out.println("별명의 길이는 같을 수 없습니다. 다시 입력하세요.");
name = sc.nextLine();
}
}
}
names.add(name);
}
int max = 0;
for(int i = 0; i < names.size(); i++){
if(names.get(max).length() < names.get(i).length()){
max = i;
}
}
System.out.println("제일 긴 별명...");
System.out.println(names.get(max));
ArrayList<String> aliasList = new ArrayList<>();
System.out.println("서로 다른 길이의 별명을 5번 입력하시오.");
for(int i = 1; i <= 5; i++){
System.out.println(i + "번째 별명 : ");
String alias = sc.next();
aliasList.add(alias);
}
int maxIndex = 0;
for(int i = 1; i < aliasList.size(); i++){
if(aliasList.get(maxIndex).length() < aliasList.get(i).length()){
maxIndex = i;
}
}
System.out.println("제일 긴 별명 : " + aliasList.get(maxIndex));
}
}
위 문제에서 별명의 길이가 같은 것을 입력할 수 있는 경우를 처리하시오.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> names2 = new ArrayList<>();
for(int i = 1; i <= 5; i++){
System.out.println(i + "번째 사람의 별명을 입력하시오.");
String name = sc.nextLine();
names2.add(name);
}
int max2 = 0;
for(int i = 0; i < names2.size(); i++){
if(names2.get(max2).length() < names2.get(i).length()){
max2 = i;
}
}
for(int i = 0; i < names2.size(); i++){
if(names2.get(max2).length() == names2.get(i).length()){
System.out.println(names2.get(i));
}
}
ArrayList<String> aliasList = new ArrayList<>();
System.out.println("별명을 5번 입력하시오.");
for(int i = 1; i <= 5; i++){
System.out.println(i + "번째 별명 : ");
String alias = sc.next();
aliasList.add(alias);
}
int maxLength = aliasList.get(0).length();
for(int i = 1; i < aliasList.size(); i++){
if(maxLength < aliasList.get(i).length()){
maxLength = aliasList.get(i).length();
}
}
System.out.println("제일 긴 별명들...");
for(int i = 0; i < aliasList.size(); i++){
if(aliasList.get(i).length() == maxLength){
System.out.println(aliasList.get(i));
}
}
}