본문 바로가기

개발자한걸음

(212)
반복문 while을 통해 소수 구하기 package class03; import java.util.Scanner; public class Test05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("정수입력: "); int num = sc.nextInt(); // 소수: 약수가 1과 자기자신밖에 없는 정수 // ex) 2,3,5,7,11,13,17,... -> 약수의 개수가 2개인 정수 // 1은 소수가 아닙니다. int i = 0; int cnt = 0; // 약수의 개수를 기억할 변수가 필요! while (i < num) { i++; if (num % i == 0) { cnt++; } } if (cnt == 2)..
정렬) 퀵정렬 기본 package class05; public class Test02 { //퀵정렬 static void quick_sort(int[] data,int start,int end) { if(start>=end) { //만약에(정렬할 배열 요소가 없다면) return; // 3.반환값을 나를 호출한 위치로 전달 , 2.함수 즉시 종료 } int pivot=data[start]; int L=start+1; int H=end; while(true) { // 얼마만에 교환될지 모르기 때문에 무한루프 while(pivot>data[L]) { if(L==end) { //L가 끝까지 도달했다면, break; // 그만해라. } L++; // ※ index 범위를 ++,--때에는 Exception에 유의하자! Excepti..
함수) 모듈화,랜덤,배열,반복문 종합 예제) 로또 package test; import java.util.Random; import java.util.Scanner; public class Test02 { static void f1(int[] data) { // 아래 메인에서 f2(num)으로 먼저 랜덤 배율을 만들어줬으니 그것을 출력하기 위한 함수 for(int i=0;i i위치의 배열에 수를 담고 i++; // -> 그 다음칸에 입력하기 위해 i++ } return data; } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int num; // 유효범위(scope) while(true) { System.out.print("정수입력: "); num=sc.next..
클래스) 학생부 package class04; import java.util.Scanner; class Student { String name; int score; void showInfo() { System.out.println(name + "학생은 " + score + "점입니다."); } Student(String name, int score) { this.name = name; this.score = score; System.out.println(this.name + "학생 입력완료."); } } public class Test09 { public static void main(String[] args) { Student[] data = new Student[3]; // 객체배열 int index = 0; // ..
클래스) 멤버변수와 클래스변수에 이해(모래성게임) package class04; // 공유 자원을 통한 모래성게임 import java.util.Random; class Person { String name; // 멤버변수 , 고유한값 static int sand = 100; // 클래스변수 , 공유자원!! boolean game() { // main 문단에 있는 무한루프를 종료조건을 끊어주는 T/F Random random = new Random(); int num = random.nextInt(20) + 1; System.out.println(name + "님이 " + num + " 가져갑니다.."); sand -= num; System.out.println("남은 모래: " + sand); System.out.println(); if (sand
클래스)멤버변수와 클래스변수의 이해(카드사용예제) package class04; class Card { String name; // 멤버변수(인스턴스변수) int limit; static int bal = 200000; // 클래스변수 void use() { this.use(10000); // 만원을 결제했을 때 아래 줄의 식을 use(int=10000) 으로 해서 쓰겠다. } void use(int money) { // 결제에 대한 로직 System.out.print(money + "원 사용: "); if (money > this.limit) { System.out.print("한도초과!"); } else if (bal < money) { System.out.print("잔액부족!"); } else { bal -= money; } System.out...
클래스) 멤버변수와 클래스변수의 차이 이해(강아지 학원) package class02; class Dog { String name; static String[] action = new String[5]; // 올바르지 않지만 static 설명을 위해 사용 static int index; void showInfo() { System.out.println(name + " 강아지"); for (int i = 0; i < index; i++) { System.out.println(action[i]); } } } public class Test06 { public static void main(String[] args) { Dog dog1 = new Dog(); dog1.name = "요요"; Dog dog2 = new Dog(); dog2.name = "꼬미"; do..
클래스) 멤버 변수와 클래스 변수의 차이 이해 package class02; // 멤버변수 : 인스턴스(객체)변수 | 클래스변수==[공유자원] class A { int num1; // 멤버변수 -> 객체마다 고유한 값 == 객체끼리 값을 공유X // 인스턴스(객체) 변수 static int num2; // 클래스변수-> 객체끼리 값을 공유한다는건... a객체의 변화가 b객체에게도 영향을 줌!! 확인방법: num2가 기울어짐! void showInfo() { System.out.println("num1= " + num1); System.out.println("num2= " + num2); } A(int num1, int num2) { this.num1 = num1; this.num2 = num2; } } public class Test05 { publ..