Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

스포츠마케터의 초보 개발자 도전기

JAVA study 17 본문

develop/JAVA

JAVA study 17

teammate brothers 2024. 3. 20. 14:41

List 

예제1)

package ex1_list;

public class Person {
	private String name;
	private int kor;
	private int eng;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getKor() {
		return kor;
	}

	public void setKor(int kor) {
		this.kor = kor;
	}

	public int getEng() {
		return eng;
	}

	public void setEng(int eng) {
		this.eng = eng;
	}

}

--

package ex1_list;

import java.util.ArrayList;
import java.util.List;

public class PersonListMain {
	public static void main(String[] args) {
		
		List<Person> arr = new ArrayList<Person>();
		
		Person p1 = new Person();
		p1.setName("홍길동");
		p1.setKor(99);
		p1.setEng(67);
		
		Person p2 = new Person();
		p2.setName("김길순");
		p2.setKor(100);
		p2.setEng(80);
		
		arr.add(p1);
		arr.add(p2);
		
		
		for(int i = 0; i < arr.size(); i++) {
			
			System.out.println(arr.get(i).getName() + " / " + 
					          arr.get(i).getEng() + " / " +
					          arr.get(i).getKor());
		}
		
		
	}//main
}

 

예제2)

package ex2_list;

public class Animal {
	private String name;
	private int eye;
	private int leg;
	private String scream;

	public Animal(String name, int eye, int leg, String scream) {
		this.name = name;
		this.eye = eye;
		this.leg = leg;
		this.scream = scream;
	}

	public String getName() {
		return name;
	}

	public int getEye() {
		return eye;
	}

	public int getLeg() {
		return leg;
	}

	public String getScream() {
		return scream;
	}

}

--

package ex2_list;

import java.util.ArrayList;
import java.util.List;

public class AnimalMain {
	public static void main(String[] args) {

		List<Animal> arr = new ArrayList<Animal>();

		Animal dog = new Animal("강아지", 2, 4, "멍멍");
		Animal snake = new Animal("뱀", 2, 0, "뱀뱀뱀");

		arr.add(dog);
		arr.add(snake);

		System.out.println("이름\t눈\t다리\t울음소리");
		for (int i = 0; i < 2; i++) {
			System.out.println(arr.get(i).getName() + "\t" + 
					           arr.get(i).getEye() + "\t" + 
					           arr.get(i).getLeg() + "\t" + 
					           arr.get(i).getScream());
		}

	}// main
}

 

예제3)

package ex3_list;

public class UserInfo {

	private String id;
	private int pwd;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public int getPwd() {
		return pwd;
	}

	public void setPwd(int pwd) {
		this.pwd = pwd;
	}

}

--

package ex3_list;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class UserMain {

	public static void main(String[] args) {

		// id : aaa
		// pwd : 1111
		// aaa/1111
		// ---
		// id : bbb
		// pwd : 2222

		Scanner sc = new Scanner(System.in);
		List<UserInfo> user = new ArrayList<UserInfo>();

		outer: while (true) {
			UserInfo ui = new UserInfo();
			System.out.println("id : ");
			String id = sc.next();
			ui.setId(id);

			// 아이디 중복체크
			for (int i = 0; i < user.size(); i++) {

				// if(ui.getId().equals(user.ger(i).getId())) -> 선생님 방식
				if (user.get(i).getId().equals(id)) {
					System.out.println("아이디가 중복됨");
					continue outer;
				}
			}

			System.out.println("pwd : ");
			ui.setPwd(sc.nextInt());

			user.add(ui);

			for (int i = 0; i < user.size(); i++) {
				System.out.println(user.get(i).getId() + "/" + user.get(i).getPwd());
			} // for

		} // while

	}// main
}

 

예제4)

package ex4_list;

public class Person {
	private String name, tel;
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

}

--

package ex4_list;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class PersonMain {
	public static void main(String[] args) {

		// 1.회원추가
		// 2.회원삭제
		// 3.전체정보
		// etc.종료
		// >>1
		// ---회원추가---
		// 이름 : hong
		// 나이 : 20
		// 전화 : 010
		// 정보저장완료
		// 1.회원추가
		// 2.회원삭제
		// 3.전체정보
		// etc.종료
		// >>3
		// ---전체정보---
		// 등록인원 1명
		// hong / 20 /010
		// 1.회원추가
		// 2.회원삭제
		// 3.전체정보
		// etc.종료
		// >>2
		// ---회원삭제---
		// 삭제할 이름 : hong
		// 삭제성공 or OOO은 없습니다

		List<Person> info = new ArrayList<Person>();

		Scanner sc = new Scanner(System.in);
		Person pInfo = new Person();

		outer: while (true) {

			System.out.println("1. 회원추가");
			System.out.println("2. 회원삭제");
			System.out.println("3. 전체정보");
			System.out.println("etc. 종료");
			System.out.print(">>");
			int select = sc.nextInt();

			switch (select) {
			
			case 1://회원추가
				System.out.println("---회원추가---");
				System.out.print("이름 : ");
				pInfo.setName(sc.next());
				System.out.print("나이 : ");
				pInfo.setAge(sc.nextInt());
				System.out.print("전화번호 : ");
				pInfo.setTel(sc.next());
				
				info.add(pInfo);
				System.out.println("정보저장완료");
				
				break;

			case 2://회원삭제
				System.out.println("---회원삭제---");
				System.out.print("삭제 할 이름 : ");
				String name = sc.next(); // 아래 대신 tCode
				//pInfo.setName(sc.next());

				for (int i = 0; i < info.size(); i++) {
					
					if (info.get(i).getName().equals(name)) { //아래 대신 tCode
					//if (!info.get(i).getName().equals(pInfo.getName())) { 
						info.remove(i);
						System.out.println("삭제성공");
						break;
					} else {
						if( i + 1 == info.size()) {
							System.out.println(name + "정보가 없습니다");
							
						}
					}
				}
				break;
				
			case 3://전체정보
				System.out.println("---전체정보---");

				for (int i = 0; i < info.size(); i++) {

					System.out.println(info.get(i).getName() + " / " + 
							           info.get(i).getAge() + " / " +
							           info.get(i).getTel());
				}//for
				break;

			default:
				System.out.println("종료");
				break outer;

			}// switch
			System.out.println("----------------");
		} // while

	}// main
}

 

과제1)

package ex5_work;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Ex1_work {
	public static void main(String[] args) {

		// ArrayList에 담긴 값들 중 내가 입력받은 문장과 동일한 값이 몇번째 인덱스에 있는지 찾아내기
		// ==========
		// 찾을 문장 : Blue
		// Blue의 모든 인덱스 : [1, 3, 5]
		Scanner sc = new Scanner(System.in);

		List<String> colors = new ArrayList<String>();
		colors.add("Red");
		colors.add("Blue");
		colors.add("Green");
		colors.add("Blue");
		colors.add("Yellow");
		colors.add("Blue");
		colors.add("Cyan");

		System.out.print("입력 : ");
		String str = sc.next();
		
        //결과를 저장항 ArrayList 추가
		List<Integer> result = new ArrayList<Integer>();
		for (int i = 0; i < colors.size(); i++) {
			if (str.equals(colors.get(i))) {

				result.add(i);
			}
		} // for
		System.out.print(result);

	}// main
}

 

과제2)

package ex5_work;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;

public class Ex2_work {
	public static void main(String[] args) {

		// ArrayList를 2개 만들고 1~5사이의 난수를 5개 추가
		// 두 리스트의 값을 비교하여 교집합을 출력
		// -----------------------------------------
		// list1 = [5, 3, 5, 1, 5]
		// list2 = [2, 3, 1, 1, 3]
		// 교집합 : [3, 1]
		Random rnd = new Random();

		List<Integer> num1 = new ArrayList<Integer>();
		List<Integer> num2 = new ArrayList<Integer>();

		for (int i = 0; i < 5; i++) {
			num1.add(rnd.nextInt(5) + 1);
			num2.add(rnd.nextInt(5) + 1);
		}

		System.out.println(num1);
		System.out.println(num2);

		Set<Integer> intersection = new HashSet<Integer>();

		//contains를 사용하여 아래 2중 for문을 대체하는 코드 만들어 보기
		
		for(int num : num1) {
			if (num2.contains(num) && !intersection.contains(num)) {
				intersection.add(num);
			}
		}
		System.out.println(intersection);
		
		
//		for (int i = 0; i < num1.size(); i++) {
//			int cnt = 0;
//
//			for (int j = 0; j < num2.size();) {
//				if (num1.get(i) == num2.get(j)) {
//					cnt++;
//					num2.remove(j);
//
//					if (cnt == 1) {
//						intersection.add(num1.get(i));
//					}
//					continue;
//				}
//				j++;
//				
//			} // i for
//		} // o for
//		System.out.println("교집합 " + intersection);

		
		
//		for (int i = 0; i < 5; i++) {
//			for (int k = 0; k < 5; k++) {
//				if (num1.get(i).equals(num2.get(k))) {
//					intersection.add(num2.get(k));
//					break;
//				}
//			}
//		} // for
//
//		System.out.println(intersection);

		//String 클래스도 contains를 포한하고 있다
		String str = "hi hello welcome world";
		if (str.contains("i")){
			System.out.println("i가 있음");
		}
		
		if(str.contains("m")) {
			System.out.println("m이 있음");
		}
		
		if(str.contains("z")) {//없어서 출력 안됨
			System.out.println("z이 있음");
		}
	}// main
}

 

과제3)

package ex5_work;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Ex3_work {
	public static void main(String[] args) {

		// 정수를 입력하세요(종료: 0)
		// >> 45
		// >> 17
		// >> 20
		// >> ...
		// >> 0
		// 원하는 숫자의 범위를 입력하시오
		// 시작값 : 15
		// 끝값 : 20
		// 범위내의 숫자
		// 17
		// 20

		Scanner sc = new Scanner(System.in);

		List<Integer> list = new ArrayList<Integer>();

		System.out.print("정수를 입력 하세요(종료 0) : \n>>");

		while (sc.nextInt() != 0) {
			System.out.print(">>");
			list.add(sc.nextInt());

		}

		System.out.println("원하는 숫자의 범위를 입력하시오");
		System.out.print("시작값 : ");
		int sNum = sc.nextInt();
		System.out.println("끝값 : ");
		int fNum = sc.nextInt();

		for (int i = 0; i < list.size(); i++) {
			if (list.get(i) > sNum && list.get(i) < fNum) {
				System.out.println(list.get(i));
			}
		}

	}// main
}

'develop > JAVA' 카테고리의 다른 글

JAVA study 19  (0) 2024.03.25
JAVA study 18  (0) 2024.03.21
JAVA study 16  (0) 2024.03.19
JAVA study 15  (0) 2024.03.18
JAVA study 14  (0) 2024.03.15