자바풀스택 과정/자바 풀 스택 : 수업내용정리

자바 풀 스택 12/17 오후 기록 019-2

파티피플지선 2024. 12. 17. 18:27

<14:30 5교시>

Intger.parseInt() 는 소괄호 안의 문자열 형태의 숫자를 숫자로 반환해준다.

더보기
package test.main;

public class MainClass03 {
	public static void main(String[] args) {
		//문자열을 실제 숫자로 바꾸기
		int num1 = Integer.parseInt("200");
		//문자열을 실제 숫자(실수)로 바꾸기
		double num2= Double.parseDouble("10.1");
	}
}

 

 

더보기
package test.main;

import java.util.Scanner;

public class MainClass04 {
	public static void main(String[] args) {
		//콘솔창으로부터 입력받을 수 있는 Scanner 객체 생성
		Scanner scan = new Scanner(System.in);
		
		//.print()메소드는 개행 기호를 출력하지 않는다.
		System.out.print("첫번째 숫자:");
		String a = scan.nextLine();
		System.out.println();
		System.out.print("두번째 숫자:");
		String b=scan.nextLine();
		double result = Double.parseDouble(a)+Double.parseDouble(b);
		System.out.print("두 수의 합은:"+result);
	}
}

JAVA에서의 배열

더보기
package test.main;

public class MainClass01 {
	//자바에서의 배열은 크기가 정해지면 자바스크립트에서 그랬던것과 달리 개수를 더 늘릴 수 없다.
	public static void main(String[] args) {
		//int type 5개를 저장하고 있는 배열 객체를 생성해서 참조값을 nums 라는 지역 변수에 담기
		int[] nums = {10,20,30,40,50};
		//double type 5개를 저장하고 있는 배열 객체를 생성해서 참조값을 num2라는 지역변수에 담기
		double[] nums2 = {10.1, 10.2, 10.3, 10.4, 10.5};
 		//boolean type 5개를 저장하고 있는 배열
		boolean[] truth = {true, false, false, false, true};
		//String type (참조 데이터타입) 5개를 저장하고 있는 배열
		String[] names = {"이름1","이름2","이름3","이름4","이름5"};
		
		//배열 객체의 복제본 얻어내기
		int[] result = nums.clone();
		//복제본이 아닌 참조값만 복사하기
		int[] result2=nums;
		
		//배열의 크기 얻어내기
		int size=nums.length;
		//배열은 순서가 있는 데이터이다. 특정 index의 item을 참조하는 방법
		int first=nums[0];
		int second=nums[1];
		int third=nums[2];
	}
}

 

 

<15:30 6교시>

배열을 만드는 방법

더보기
package test.main;

public class MainClass01 {
	//자바에서의 배열은 크기가 정해지면 자바스크립트에서 그랬던것과 달리 개수를 더 늘릴 수 없다.
	public static void main(String[] args) {
		//int type 5개를 저장하고 있는 배열 객체를 생성해서 참조값을 nums 라는 지역 변수에 담기
		int[] nums = {10,20,30,40,50};
		//double type 5개를 저장하고 있는 배열 객체를 생성해서 참조값을 num2라는 지역변수에 담기
		double[] nums2 = {10.1, 10.2, 10.3, 10.4, 10.5};
 		//boolean type 5개를 저장하고 있는 배열
		boolean[] truth = {true, false, false, false, true};
		//String type (참조 데이터타입) 5개를 저장하고 있는 배열
		String[] names = {"이름1","이름2","이름3","이름4","이름5"};
		
		//배열 객체의 복제본 얻어내기
		int[] result = nums.clone();
		//복제본이 아닌 참조값만 복사하기
		int[] result2=nums;
		
		//배열의 크기 얻어내기
		int size=nums.length;
		//배열은 순서가 있는 데이터이다. 특정 index의 item을 참조하는 방법
		int first=nums[0];
		int second=nums[1];
		int third=nums[2];
	}
}

 

배열을 만드는 또다른 방법

더보기
package test.main;

public class MainClass02 {
	public static void main(String[] args) {
		//0으로 초기화된 방 3개짜리 int[]객체를 만들어서 참조값을 지역변수 nums 에 담기
		int[] nums = {0,0,0};
		//0번 방에ㅔ 10, 1번 방에 20, 2번 방에 30을 저장하기
		nums[0]= 10;
		nums[1]= 20;
		nums[2]= 30;
		//0으로 초기화된 방 500개짜리 int[]객체를 만들어서 참조값을 지역변수 nums2에 담기
		int[] nums2 = new int[500];
		/*
		 * 0 번 방에 1, 1번 방에 2, ...,499번 방에 500 저장하기
		 */
		
		
		for(int i=0; i<nums2.length; i++) {
			nums2[i]= i+1;
		}
	}
}

 

 

입력받은 값을 배열에 저장하고 순서대로 출력하기

package test.main;

import java.util.Scanner;

public class MainClass03 {
	public static void main(String[] args) {
		//1. String type을 담을 수 있는 방 3개짜리 빈 배열 객체를 만들어서 참조값을 names라는 지역변수에 담아 보셈
		String[] names = new String[3]; //또는 String[] names = {null,null,null}
		//2. 콘솔창으로부터 문자열을 입력받을 수 있는 Scanner 객체를 생성해서 참조값을 scan이라는 지역변수에 담아 보셈
		Scanner scan = new Scanner(System.in);
		//String a = scan.nextLine();
		//3. 반복문을 돌면서 Scanner 객체를 이용해서 이름을 입력 받고 입력받은 이름을 배열에 순서대로 저장해보셈
		for (int i=0; i<3; i++) {
			System.out.println("이름 입력:");
			names[i]= scan.nextLine();
			/*
			Scanner scan = new Scanner(System.in);
			String a = scan.nextLine();
			names[i]= a;
			*/
		}

		//4. 반복문 돌면서 배열에 저장된 이름을 순서대로 콘솔창에 출력해보셈
		for(int i=0; i<names.length; i++) {
			System.out.println(names[i]);
		}
	}
}

 

 

<16:30 7교시>

랜덤하게 뽑기 예제 내가 한거

더보기
package test.main;

import java.util.Random;

public class MainClass04 {
	public static void main(String[] args) {
		//String type이 저장된 배열
		String[] data = {"cherry","apple","banana","melon","7"};
		//배열에 저장된 문자열 중에 1개가 랜덤하게 콘솔창에 출력되도록 프로그래밍 해보세요.
		Random ran = new Random();
		//String fruit= data[ran.nextInt(5)];
		//System.out.println(fruit);
		int ranNum=ran.nextInt(5);
		int ranNum1=ran.nextInt(5);
		int ranNum2=ran.nextInt(5);
	
			System.out.print(data[ranNum]);
			System.out.print(data[ranNum1]);
			System.out.print(data[ranNum2]);
		
	
	}
}

랜덤하게 뽑기 샘이랑 한거

더보기
package test.main;

import java.util.Random;

public class MainClass04 {
	public static void main(String[] args) {
		//String type이 저장된 배열
		String[] data = {"cherry","apple","banana","melon","7"};
		//배열에 저장된 문자열 중에 1개가 랜덤하게 콘솔창에 출력되도록 프로그래밍 해보세요.
		Random ran = new Random();
		//String fruit= data[ran.nextInt(5)];
		//System.out.println(fruit);
		
		for(int i=0; i<3; i++) {
			int ranNum=ran.nextInt(5);
			System.out.print(data[ranNum]+"  ");
		}
	
	
	}
}

업그레이드 예제 내가 한 삽질

더보기
package test.main;

import java.util.Random;

public class MainClass04 {
	public static void main(String[] args) {
		//String type이 저장된 배열
		String[] data = {"cherry","apple","banana","melon","7"};
		//배열에 저장된 문자열 중에 1개가 랜덤하게 콘솔창에 출력되도록 프로그래밍 해보세요.
		Random ran = new Random();
		//String fruit= data[ran.nextInt(5)];
		//System.out.println(fruit);
	
		
		for(int i=0; i<3; i++) {
			int ranNum = ran.nextInt(5);
			int[] ranNums= new int[3];
			ranNums[i]=ranNum;
			System.out.print(data[ranNum]+"  ");
		}
		//나왔던 랜덤한 정수가 모두 같으면 100점, 하나라도 다르면 0점을 출력해보세요
		
		
		
	}
}

 

업그레이드 예제 선생님이랑 한것

더보기
package test.main;

import java.util.Random;

public class MainClass04 {
	public static void main(String[] args) {
		//String type이 저장된 배열
		String[] data = {"cherry","apple","banana","melon","7"};
		//배열에 저장된 문자열 중에 1개가 랜덤하게 콘솔창에 출력되도록 프로그래밍 해보세요.
		Random ran = new Random();
		//String fruit= data[ran.nextInt(5)];
		//System.out.println(fruit);
		//나왔던 숫자를 저장할 배열 객체 생성
		int[] nums=new int[3];
		
		for(int i=0; i<3; i++){
			//0~4 사이의 랜덤한 정수가 얻어내진다.
			int ranNum = ran.nextInt(5);
		
			System.out.print(data[ranNum]+"  ");
			
			//나왔던 숫자를 배열에 순서대로 저장한다.
			nums[i]=ranNum;
		
		}
		System.out.println();
		//나왔던 랜덤한 정수가 모두 같으면 100점, 하나라도 다르면 0점을 출력해보세요
		if(nums[0]==nums[1]&&nums[1]==nums[2]) {
			System.out.println("획득한 점수 100");
		}else {
			System.out.println("획득한 점수 : 0");
		}
		
		
	}
}

 

 

또 더 업그레이드 버전

더보기
package test.main;

import java.util.Random;
import java.util.Scanner;

public class MainClass04 {
	public static void main(String[] args) {
		//String type이 저장된 배열
		String[] data = {"cherry","apple","banana","melon","7"};
		//배열에 저장된 문자열 중에 1개가 랜덤하게 콘솔창에 출력되도록 프로그래밍 해보세요.
		Random ran = new Random();
		//String fruit= data[ran.nextInt(5)];
		//System.out.println(fruit);
		//나왔던 숫자를 저장할 배열 객체 생성
		int[] nums=new int[3];
		Scanner scan=new Scanner(System.in);
		//기본 점수
		int score=1000;
		
		while(true) {
			System.out.println("진행하려면 Enter를 치세요");
			scan.nextLine();
			//score를 10씩 감소 시키기
			score -= 100;
			
			for(int i=0; i<3; i++){
				//0~4 사이의 랜덤한 정수가 얻어내진다.
				int ranNum = ran.nextInt(5);
				System.out.print(data[ranNum]+"  ");
				//나왔던 숫자를 배열에 순서대로 저장한다.
				nums[i]=ranNum;
			}
			System.out.println();
			//나왔던 랜덤한 정수가 모두 같으면 100점, 하나라도 다르면 0점을 출력해보세요
			if(nums[0]==nums[1]&&nums[1]==nums[2]) {
				System.out.println("획득한 점수 100");
				score+=100;
			}else {
				System.out.println("획득한 점수 : 0");
			}
			System.out.println("score: "+score);
			if(score <=0) {
				break;
			}
		}
		
		
	}
}

 

<17:30 8교시>

위에서 만들었던 게임을 진짜 사행성 게임 처럼 보이게 만들수 있는 엄청 귀여운 유니코드

String[] data = {"🍒", "🍎", "🍌", "🍈", "7"};

 

 

자전거 클래스 예제

더보기
package test.main;

import test.mypac.Bike;

public class MainClass05 {
	public static void main(String[] args) {
		/*
		 * 1. Bike 객체를 담을 수 있는 방 3개짜리 배열객체를 생성해서 참조값을 bikes라는 지역변수에 담기
		 * 2. 배열의 각각의 방(0,1,2방) 에 Bike 객체를 생성해서 담기
		 * 3. 반복문 for를 이용해서 순서대로 배열의 각 방에 있는 Bike 객체의 ride()메소드를 호출하기
		 */
		
		Bike[] bikes = new Bike[3];

		for (int i=0; i<3; i++) {
			Bike b= new Bike();
			bikes[i]= b;
			bikes[i].ride();
		}
				
	}
}

 

또 7교시에 한 것보다 더 개선된 업그레이드 버전 각자 만들어보기