ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 231012_Java
    Coding Class 2023. 10. 13. 10:16
    package myProject;
    
    public class Ex4_12 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int i= 5;
    		
    		System.out.println(i);
    		while(i-- != 0) { // 증감식 --로 인해 반복 할 때마다 1씩 감소, 처음에는 5
    						  // i가 0과 동일하지 않으면 1씩 감소한 뒤 반복, 동일하면 반복 멈춤...
    			
    		System.out.println(i + " - I can do it."); //5에서 -- 되어 4가 됨. 4가 위로 올라가서 다시 4 != 0 이므로 반복.
    		// i+ - I can do it. 출력.
    		}
    
    	}
    
    }
    package myProject;
    import java.util.*;
    
    public class Ex4_14 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		int num = 0, sum = 0; //변수 선언 + 정의 + 초기화 initialization
    		//변수 선언 + 정의 : int num;
    		//모든 언어에서 반드시 초기화 필요: 누적 변수 int hap = 0;
    		
    		System.out.print("숫자를 입력하세요.(예:12345)>");
    		Scanner scanner = new Scanner(System.in); //키보드로 숫자 입력 -> 문자형 -> 수로 변환 필요 
    		
    		String tmp = scanner.nextLine(); // 화면을 통해 입력받은 내용을 tmp에 저장 (입력받은 숫자를 문자형으로)
    		num = Integer.parseInt(tmp); // 입력받은 문자열(tmp)을 숫자로 변환 (문자형을 수로 변환) 
    		//integer: 정수형 클래스, 문자열 클래스: string
    		
    		while(num != 0) {
    			// num을 10으로 나눈 나머지를 sum에 더함
    			sum += num%10; // sum = sum + (num % 10);
    			System.out.printf("sum=%3d num=%d%n", sum, num);
    			num /= 10; // num = num / 10; num을 10으로 나눈 값을 다시 num에 저장
    		}
    		
    		System.out.println("각 자리수의 합:"+sum);
    
    	}
    
    }
    package myProject;
    import java.util.*;
    
    public class Ex4_15 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int input = 0, answer = 0;
    		
    		answer = (int)(Math.random() * 100) + 1; // 1~100 사이의 임의의 수를 저장
    		Scanner scanner = new Scanner(System.in);
    		
    		do {
    			System.out.print("1과 100사이의 정수를 입력하세요.>");
    			input = scanner.nextInt();
    			if(input > answer) {
    				System.out.println("더 작은 수로 다시 시도해보세요.");
    			} else if(input < answer) {
    				System.out.println("더 큰 수로 다시 시도해보세요.");
    			}
    		} while(input!=answer);
    		
    		System.out.println("정답입니다.");
    
    	}
    
    }
    package myProject;
    
    import java.util.*;
    
    public class Ex4_18 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int menu = 0;
    		int num = 0;
    		
    		Scanner scanner = new Scanner(System.in);
    		
    //		while(true) {
    //			System.out.println("1. square");
    //			System.out.println("2. square root");
    //			System.out.println("3. log");
    //			System.out.print("원하는 메뉴(1~3)를 선택하세요.(종료:0)>");
    //			
    //			String tmp = scanner.nextLine(); // 화면에서 입력받은 내용을 tmp에 저장
    //			menu = Integer.parseInt(tmp); // 입력받은 문자열(tmp)을 숫자로 변환
    //		
    //			if(menu==0) {
    //				System.out.println("프로그램을 종료합니다.");
    //				break;
    //			} else if (!(1 <= menu && menu <= 3)) {//1보다 크거나 같다 and 3보다 작거나 같다... 가 맞지 않다면. (!부정 연산자)
    //				System.out.println("메뉴를 잘못 선택하셨습니다.(종료는 0)");
    //				continue; // while(true) 를 다시 실행 
    //			}
    //			System.out.println("선택하신 메뉴는 "+ menu +"번입니다.");
    //		}
    		
    		//while-switch 전환
    		
    		while(true) {
    			System.out.println("1. square");
    			System.out.println("2. square root");
    			System.out.println("3. log");
    			System.out.print("원하는 메뉴(1~3)를 선택하세요.(종료:0)>");
    			
    			String tmp = scanner.nextLine(); // 화면에서 입력받은 내용을 tmp에 저장
    			menu = Integer.parseInt(tmp); // 입력받은 문자열(tmp)을 숫자로 변환
    		
    			switch(menu) {
    			case 0 :
    				System.out.println("프로그램을 종료합니다.");
    				return; //자신을 호출한 상위로 이동함. 종료... while문은 case 0 를 호출한게 아님. 와일문은 실행문. 
    			case 1 : 
    			case 2 :
    			case 3 :
    				System.out.println("선택하신 메뉴는 "+ menu +"번입니다.");
    				break;
    			default:
    				System.out.println("메뉴를 잘못 선택하셨습니다.(종료는 0)");
    				continue;
    			}
    			
    		}
    
    	}
    
    }
    package myProject;
    
    import java.util.Arrays;
    
    public class Ex5_4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] numArr = {0,1,2,3,4,5,6,7,8,9};
    		System.out.println(Arrays.toString(numArr));
    
    		for (int i=0; i < 100; i++ ) {
    			int n = (int)(Math.random() * 10);  // 0~9 중의 한 값을 임의로 얻는다.
    			
    			int tmp = numArr[0]; //0번을 tmp에 주고
    			numArr[0] = numArr[n]; // 교환... n은 randum을 의미. 만약 n의 수가 3이면 
    			numArr[n] = tmp; //n에 3을 부여, tmp. 
    		}
    		System.out.println(Arrays.toString(numArr));
    		
    		String str = Arrays.toString(numArr); // toString 결과를 String 변수에 저장
    		System.out.println(str.charAt(0)); //[0]번을 출력함
    		
    		int len = str.length();
    		String sub = str.substring(5);
    		String sub2 = str.substring(1,5); // 끝은 index-1 까지, 5-1=4 임... 
    		
    		System.out.println( len + "\nfrom 5 :" + sub + "\nfrom 1 to 5->" + sub2);
    
    	}
    
    }
    //package myProject;
    
    public class Ex5_7 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println("parameter:"+args.length);
    		
    		for(int i=0;i< args.length;i++) {
    			System.out.println("args[" + i + "] = \""+ args[i] + "\"");
    		}
    
    	}
    
    }

    Training 교수님과 함께 진행한 실습

    package myProject;
    
    public class Training_4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		// Break 실습 : 1~100 수 중 77이면 반복문 종료
    		
    		int num = 0;
    		int i = 0;
    		
    		while(true) {
    			if(num == 77)
    				break;
    			++i;
    			num += i;
    		}
    		
    		// Break 실습 : 1~100 수 중 77이면 반복문 종료 (교수님)
    		System.out.println("num=" + num);
    		
    		for (int j = 1; j <=100; j++) {
    			if(j == 77)
    				break;
    			System.out.println(j);
    		}
    	}
    }
    package myProject;
    
    public class Training_5 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		// 범위는 1~30 사이, 난수 20개 출력하기
    		
    		int answer = 0;
    		
    		for (int i = 1; i<=20; i++){ // 20번을 반복해서
    			int num = (int)(Math.random() * 30)+1 ; // 1~30 사이 난수를 만듦
    			System.out.print(num + "\t"); // 만들어낸 난수를 출력함
    		}
    		
    		// 범위는 1~30 사이, 난수 20개 생성
    		// 중복되는 난수를 비교하고, 중복되면 do 문을 반복해서 난수를 재 생성.
    		
    //		int answer = 0;
    //		
    //		for (int i = 1; i<=20; i++){ // 20번을 반복해서
    //			int num;
    //		    boolean data;
    //
    //		    do {
    //		        num = (int)(Math.random() * 30) + 1; // 1~30 사이 난수를 만듦
    //		        data = (answer == num); // 중복 여부 확인
    //		    } while (data);
    //
    //		    answer = num; // 중복되지 않는 난수를 answer에 저장
    //		    System.out.print(num + "\t");
    //		}
    //
    //	}
    
    }
    package myProject;
    
    import java.util.Arrays;
    
    public class Training_6 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] number = { 30, 20, 15, 70, 80 }; //배열 선언(정의)과 초기화
    		//갯수만큼 배열방 생성.
    		
    		System.out.println(number[0]);
    		
    		number[1] = 100;
    		System.out.println(number[1]);
    		
    		int[] arr1 = new int[5]; //배열 선언+정의, 동적 메모리에 배열 객체 생성
    		arr1[3] = 300;
    		System.out.println(arr1[3]);
    		System.out.println("arr1[0]=" + arr1[0]);
    		//System.out.println("arr1[5]=" + arr1[0]); //out of bound5 .. index는 4번까지밖에 없어서 에러 뜸. 
    		
    		int[] arr2 = new int[] {1,2,3,4,5,6,7,8,9}; //배열 선언+정의+초기화, 동적 메모리에 객체 생성(값)
    		arr2[4] = 400;
    		System.out.println(arr2[4]);
    		
    		for(int i = 0; i < arr2.length; i++)
    			System.out.print(arr2[i] + "\t");
    		System.out.println("\n"+Arrays.toString(arr2));
    
    	}
    
    }
    package myProject;
    
    public class Training_7 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		//난수 10개를 생성해서 정수 배열에 저장 후 출력하기
    		
    		int[] number = new int[10]; //number라는 배열을 10개 만들고 
    		int rnd;
    		int sum = 0;
    		float average = 0f;
    		
    		
    		for (int i = 0; i < number.length; i++){ // 10번을 반복해서
    			rnd = (int)(Math.random() * 30)+1 ; // 1~30 사이 난수를 만듦
    			number[i] = rnd; //rnd 에 정수를 집어넣은 뒤 
    			
    			System.out.print(number[i] + " "); // 만들어낸 난수를 출력함
    			sum += number[i]; //모든 난수의 합을 sum에 저장
    		}
    		
    		average = sum/(float)number.length; //배열에 저장된 난수들의 합, 평균 출력
    
    		System.out.println("총합 : " + sum);
    		System.out.println("평균 : " + average);
    		
    		//number의 값 중 최대값, 최소값 출력
    		
    		int max = number[0]; //최댓값을 첫 번째 값으로 초기화
    		int min = number[0]; //최솟값을 첫 번째 값으로 초기화
    		
    		for (int i = 0; i < number.length; i++) {
    			if(number[i] > max)
    				max = number[i];
    			else if(number[i] < min )
    				min = number[i];
    			}
    		System.out.println("max=" + max);
    		System.out.println("min=" + min);
    		
    
    	}
    
    }
    package myProject;
    
    public class Training_8 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		//실습: 어린왕자 텍스트 중 'a' 의 개수 세기 
    		//대소문자 구분 안 함. 
    		String little = "Once when I was six years old I saw a magnificent picture in a book, called True Stories from Nature,"
    				+ "about the primeval forest. It was a picture of a boa constrictor in the act of swallowing an animal. Here is a"
    				+ "copy of the drawing.";
    		System.out.println(little);
    		
    		int sum_a = 0;
    		int sum_space = 0;
    		
    		//1. charAt() 으로 각 문자를 가져온다
    		//2. 문자열 길이만큼 반복하면서 'a', 'A' 를 만나면 sum_a를 1씩 증가한다.
    		//3. sum_a 출력한다...
    		
    		for (int i = 0; i < little.length(); i++) {
    			if(little.charAt(i) == 'a' || little.charAt(i) =='A')
    				sum_a++;
    		}
    		System.out.print(sum_a);
    	}
    
    }

     

    'Coding Class' 카테고리의 다른 글

    231012_Java  (0) 2023.10.17
    231016_HTML과 CSS  (0) 2023.10.16
    231013_DB 설계와 SQL 활용  (0) 2023.10.13
    231012_JAVA  (0) 2023.10.12
    231010_Java  (0) 2023.10.10
Designed by Tistory.