'전체 글'에 해당되는 글 384건

  1. 2019.07.01 6일차 - 생성자
  2. 2019.07.01 6일차 - 메소드 연습6
  3. 2019.07.01 6일차 - 메소드 연습5
  4. 2019.07.01 6일차 - 메소드 연습4
  5. 2019.07.01 6일차 - 메소드 연습3
  6. 2019.07.01 5일차 - 메소드연습 2
  7. 2019.06.28 5일차 - 메소드 연습
  8. 2019.06.28 5일차 - 과제
  9. 2019.06.28 5일차
  10. 2019.06.27 입력양식 - form

6일차 - 생성자

|
package Constructor;

import java.util.Scanner;

/* 생성자 메소드
 * 의미 : 클래스에서 데이터를 주입시에 주로 사용합니다.
 * 생성자는 상속이 되지 않습니다.
 * 클래스명과 이름이 반드시 동일해야 합니다.
 * 반환 타입이 없습니다. return문을 사용하지 않습니다.
 * 접근제한자는 public이거나 생략가능합니다.
 * 그리고, 프로그래머가 생성자를 사용하지 않으면 JVM(Java Virtual Machine)이 자동으로 만들어 사용합니다.
 * 개발자가 작성한 생성자가 하나라도 존재하면, JVM은 기본 생성자를 만들지 않습니다.
 * 클래스에 전달되는 값을 클래스 변수에 초기화할 목적으로 사용합니다. 
 */

//문제] 두 개의 숫자를 입력받아서 생성자 메소드에 전달하고, 그 결과를 리턴받아 출력하는 프로그램을 작성합니다.
public class constSample1 {
	static int sum; // 클래스 변수는 자동으로 초기화됩니다. = 0; 300이 기억.
	static int i, j;
	
	public constSample1() {
		//default constructor : 아무것도 하지 않는 생성자.
	}
			
	
	public constSample1(int i, int j) { // 매개변수(오른쪽에 있는 i와 j)
		this.i = i; //100
		this.j = j; //200
		sum = i + j; // 100+200. 반환 타입이 없습니다. return문을 사용하지 않습니다.
	}

//	public static int AddSum() {
//		sum = i + j ;
//		return sum;
//	}
	
	public static void AddSum() {
		sum = i + j ;
	}

	public static void printDisplay() {
		System.out.println("4. 생성자를 이용한 초기화 연산값의 결과는  = " + sum);
	}
	
	public static void main(String[] args) {
		System.out.println("두 수를 입력해 주세요.");
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();
		int y = sc.nextInt();
		constSample1 cs1 = new constSample1(x, y);
//		int result = AddSum(x,y);
//		System.out.println("1. Method result = " + result);
		System.out.println("2. 생성자를 이용한 합의 결과는  = " + constSample1.sum);
		
//		System.out.println("3. 메소드를 이용한 합의 결과는  = " + AddSum());
		
		AddSum(); // 연산 따로
		printDisplay(); // 출력 따로
		
		

	}



}


---------------------------------------------------------------------

package Constructor;

import java.util.Scanner;

/*
 * 문제] 자동차 클래스가 있습니다.
 * 이 클래스에 색상과 가격을 입력하여 출력하세요. (임의적으로).
 * 단, 생성자 이용하여. 
 * 
 */

public class constSample2 {
	
	static String col;
	static int pri;

	public void constSample2(String col, int pri) {
		this.col = col;
		this.pri = pri;
	}
	
	public static String Display() {
		return "색상은 " + col + "이고, 가격은" + pri + "입니다.";
	}
	
	public static void main(String[] args) {
		System.out.println("원하는 자동차의 색상과 가격을 입력하세요.");
		Scanner sc = new Scanner(System.in);
		col = sc.next();
		pri = sc.nextInt();
		constSample2 col = new constSample2();
		constSample2 pri = new constSample2();
		System.out.println(constSample2.Display());

	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

7일차 - 생성자  (0) 2019.07.02
6일차 - 과제  (0) 2019.07.02
6일차 - 메소드 연습6  (0) 2019.07.01
6일차 - 메소드 연습5  (0) 2019.07.01
6일차 - 메소드 연습4  (0) 2019.07.01
And

6일차 - 메소드 연습6

|
import java.util.Scanner;

/* 현재까지 사용한 메소드는 사용자(개발자) 정의 메소드이다.
 * 내장 라이브러리(API)
 * 입력받은 숫자를 논리연산을 이용하여 홀수와 짝수로 구분하는 메소드를 만들어 출력하도록 합니다.
 * 
 */

public class MethodSample9 {
	
	public static boolean isEven(int n) {
		if(n%2 == 0) { // 배수, 홀짝수, 공약수...
			return true; //나누어 떨어지면 true
		} else {
			return false;
		}
	}

	public static void main(String[] args) {
		String cha = null;
		
		Scanner sc = new Scanner(System.in);
		System.out.println("숫자를 입력하세요.");
		int num = sc.nextInt();
		
		if(num!=0) {
			if(isEven(num)==true)
				cha = "짝수";
			else
				cha = "홀수";
				System.out.println("입력한 숫자는" + num + "이고, " + cha + "입니다.");
			}else
				System.out.println("입력한 숫자는" + num + "이고, " + cha + "입니다.");
		}

}


-------------------------------------------------------------------------------

import java.util.Scanner;

/*
 * 문제] 이름과 나이를 입력받아서, 메소드 오버로딩을 이용하여 출력하세요.
 */


public class MethodSample10 {
//field area
	
	public static void main(String[] args) {
		System.out.println("이름과 나이, 주소를 입력해주세요.");
		Scanner sc = new Scanner(System.in);
		String name = sc.nextLine();
		int age = sc.nextInt();
		String address1 = sc.next();
		String address2 = sc.next();
		
		printInformation(name);
		printInformation(age);
		printInformation(address1, address2);

	}

	public static void printInformation(String name) {
		System.out.println("이름은" + name + "이고, ");
}
	
	public static void printInformation(int age) {
		System.out.println("나이는" + age + "입니다.");
}
	public static void printInformation(String addr1, String addr2) {
		System.out.println("주소는" + addr1 + "이고, 상세주소는 " + addr2);
}
	
}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

6일차 - 과제  (0) 2019.07.02
6일차 - 생성자  (0) 2019.07.01
6일차 - 메소드 연습5  (0) 2019.07.01
6일차 - 메소드 연습4  (0) 2019.07.01
6일차 - 메소드 연습3  (0) 2019.07.01
And

6일차 - 메소드 연습5

|
/*
 * 문제] 100과 200의 약수들의 합계를 구하여 출력하세요.
 * 단, 내부처리와 외부처리(Measure class)로 구분하여 합니다.
 * 약수 : 어떤수로 정수를 나눠서 떨어지는 수.
 * 6> 1, 2, 3, 6 => 12 + ? = ?
 */

public class MethodSample8 {

	public static int AkSu(int x, int y) {
		int sum1=0, sum2=0;
		for(int a=1;a<=x;a++) {
			if(x%a == 0) {
				sum1+=a;
			} 
		}
		for(int b=1;b<=y;b++) {
			if(y%b == 0) {
				sum2+=b;
			} 
		}
		return sum1 + sum2;
	}
	
	@SuppressWarnings("static-access")
	public static void main(String[] args) {
		MethodSample8 as = new MethodSample8(); // 클래스 객체명 = new 클래스
		System.out.println("내부처리의 합계는 = " + as.AkSu(100, 200)); // 객체명.메소드명(인자값)
		
		Measure ms = new Measure(); // 클래스 객체명 = new 클래스
		System.out.println("외부처리의 합계는 = " + ms.measure(100, 200)); // 객체명.메소드명(인자값)
		

	}

}



public class Measure {

	public static int measure(int x, int y) {
		int sum1=0, sum2=0;
		for(int a=1;a<=x;a++) {
			if(x%a == 0) {
				sum1+=a;
			} 
		}
		for(int b=1;b<=y;b++) {
			if(y%b == 0) {
				sum2+=b;
			} 
		}
		return sum1 + sum2;

	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

6일차 - 생성자  (0) 2019.07.01
6일차 - 메소드 연습6  (0) 2019.07.01
6일차 - 메소드 연습4  (0) 2019.07.01
6일차 - 메소드 연습3  (0) 2019.07.01
5일차 - 메소드연습 2  (0) 2019.07.01
And

6일차 - 메소드 연습4

|
//문제 AddSum(100); 이것을 이용하여 클래스 내부에서 구현하고, 또 클래스 외부에서 구현하여 출력하도록  합니다.
//MethodSample7 class (내부적 구현), 객체 : ms7
//CalAddSum class(외부 구현), 객체 : cas


public class MethodSample7 {
//Field Area
	
	public static void main(String[] args) {
		MethodSample7 ms7 = new MethodSample7();
		System.out.println("1.내부 : 1 ~100 합계는 " + ms7.AddSum(100));
//		System.out.println("1.내부 : 1 ~100 합계는 " + AddSum(100)); // 위2줄은 객체이용O, 요줄은 객체이용X
		
		CalAddSum cas = new CalAddSum();
		System.out.println("2.외부 : 1 ~100 합계는 " + AddSum(100));

	}

	@SuppressWarnings("static-access")
	private static int AddSum(int i) {
		if(i == 1) {
			return 1;
		} else {
			return 1 + AddSum(i-1);
		}
	}

}


public class CalAddSum {

	static int AddSum(int i) {
		if(i == 1) {
			return 1;
		} else {
			return 1 + AddSum(i-1);
		}

	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

6일차 - 메소드 연습6  (0) 2019.07.01
6일차 - 메소드 연습5  (0) 2019.07.01
6일차 - 메소드 연습3  (0) 2019.07.01
5일차 - 메소드연습 2  (0) 2019.07.01
5일차 - 메소드 연습  (0) 2019.06.28
And

6일차 - 메소드 연습3

|

주요내용 : 메소드 오버로딩, 재귀호출

import java.util.Scanner;

/* 
 * Method OverLoading(메소드 오버로딩)
 * 의미 : 같은 이름의 메소드명으로 서로 다른 기능을 구현하고자 할 때 사용합니다.
 * 조건>
 * 1. 이름은 반드시 같아야 합니다.
 * 2. 자료형의 갯수가 서로 다르거나, 인자의 갯수가 서로 달라야 합니다.
 */


//문제2
class HelloClass{ 
	void Hello() { // 전달인자 값이 없습니다.
		System.out.println("first = Hello");
	}
	
	void Hello(float x) { // 전달인자가 1개
		for(float i=1.0f; i<=5.0; i++) {
			String str = "Hello";
			int xx = (int)x;
			System.out.println("second = " + xx + "=>" + str);
		}
	}
		
	void Hello(float x, float y) { // 전달인자가 2개
		float sum=0f;
		sum = x + y;
		System.out.println("합계는 = " + sum);
	}
//-------------end of 문제2---------------------
	// 문제3
	void Hello(int x){
		for(int i=3;i<=3;i++) {
			for(int j=1;j<=9;j++) {
				System.out.println(i + "*" + j + " = " + i*j);
				}
			}
		}
	
	// 문제4
	void Hello(int start, int end){ 
		for(int i=start;i<=end;i++) {
			for(int j=1;j<=9;j++) {
				System.out.println(i + "*" + j + " = " + i*j);
				}
			}
			System.out.println();
		}
	
	//문제5
	void HAP(int x) {
		int sum=0;
		for(int i = 1; i<=x ; i++) {
			sum+=i;
		}System.out.println(sum);
	}

	//문제6
	int SUM(int start, int end) {
		int sum=0;
		for(int i=start;i<=end;i++) {
			sum+=i;
		}
		return sum;
	}
	
}

	//재귀호출 hc2.ReHi2(n);
	static void ReHi2(int n) { // n=5, 4, 3, 2, 1, 0
		if(n == 0) { // n==5, n==4, n==3, n==2, n==1
			return;
		}
		System.out.println("HI"); // HI,HI,HI,HI,HI
		ReHi2(n-1); // 5-1, 4-1, 3-1, 2-1, 1-1
	}

}

public class MethodSample6 {

	//문제1
	private static void Hello() { 
		System.out.println("Hello");
	}
	
	//재귀호출 ReHi(n);
	private static void ReHi(int n) { // n=5, 4, 3, 2, 1, 0
		if(n == 0) { // n==5, n==4, n==3, n==2, n==1
			return;
		}
		System.out.println("HI"); // HI,HI,HI,HI,HI
		ReHi(n-1); // 5-1, 4-1, 3-1, 2-1, 1-1
	}
	
	public static void main(String[] args) {

		//문제1] "Hello"라는 문자열을 Hello()라는 메소드를 이용하여 출력해 보세요.
		Hello();
		
		//문제2] "Hello"라는 문자열을 HelloClass()라는 클래스를 이용하여 Hello()메소드를 구현하여 출력해 보세요.
		HelloClass hc = new HelloClass();
		hc.Hello(); //전달인자가 0개
		hc.Hello(5.0f); //전달인자가 1개
		hc.Hello(5.0f, 2.0f); //전달인자가 2개
		
		//문제3] 3단을 가인수(전달인자)로 넘겨서 Hello 메소드로 3단을 출력해 보세요.
		hc.Hello(3); //객체명.메소드명. 전달인자(arguments) : 가인수(보내는 쪽)
		
		//문제4] 시작단(2단)과 끝단(9단)을 가인수로 넘겨서 Hello 메소드로 구구단을 출력해보세요.
		hc.Hello(3,7);
		
		//문제5] HAP(x)이라는 메소드를 이용하여 1~100까지의 합계를 구하여 출력하세요.
		Scanner sc = new Scanner(System.in);
		System.out.println("덧셈할 숫자를 입력하세요.");
		int x = sc.nextInt();
		hc.HAP(x);
		
		//문제6] SUM()이라는 메소드를 이용하여 시작값(1)과 끝값(100)이 주어지면 합계를 구하여 출력하세요.
		System.out.println(hc.SUM(1, 100));
		
		//재귀호출(되부름)
		//재귀메소드 : 메소드가 자신을 다시 호출하여 작업을 반복 수행하는 방식을 말합니다.
		 System.out.println("숫자를 입력하세요.");
		 Scanner sc = new Scanner(System.in);
		 int n = sc.nextInt();
		 ReHi(n);
		 HelloClass hc2 = new HelloClass();
		 hc2.ReHi2(n);
		

		 
		 
		 
	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

6일차 - 메소드 연습5  (0) 2019.07.01
6일차 - 메소드 연습4  (0) 2019.07.01
5일차 - 메소드연습 2  (0) 2019.07.01
5일차 - 메소드 연습  (0) 2019.06.28
5일차 - 과제  (0) 2019.06.28
And

5일차 - 메소드연습 2

|
import java.util.Scanner;

/*문제] 두 수를 입력받아서 덧셈, 뺄셈, 곱셈, 나눗셈(몫), 나눗셈(나머지)를 출력하는 프로그램을 작성해보자.
 * 1. 요구사항 파악 : 덧셈, 뺄셈, 곱셈, 나눗셈(몫), 나눗셈(나머지)
 * 2. 요구사항 분석 : 생략
 * 3. 요구사항 설계 : int, int 데이터,
 * 변수명(first, second)
 * 메소드명(덧셈 - Adder, 뺄셈 - Suber, 곱셈 - Multier, 나눗셈몫 - DividerMok, 나눗셈나머지 - DividerReer)
 * 클래스명(CalAdder, CalSuber, CalMultier, CalDividerMok, CalDividerReer, main: MethodSample5)
 * object( add,        sub,      mul,          mok,            reer,               total  )
 * 
 */

//통으로 짠 case. 아래요구사항에 따라 해결.
/* 덧셈과 전달인자가 두 개있고, 리턴값은 있습니다. --- 요구사항 파악. ---
 * 뺄셈은 전달인자가 두 개있고, 리턴값은 없습니다.
 * 곱셈은 전달인자는 없고, 리턴 값은 있습니다.
 * 나눗셈은 전달인자가 없고, 리턴값이 없습니다. 
 */

class CalAdder { // public을 빼야함.
	public int Adder(int first, int second) { // 메소드의 parameter(매개변수) : 실인수(받는쪽)
											  // 나중에 실무에서는 이 Adder 라는 것이 동일한명칭으로 여러개가 쓰일경우가 있는데, 이경우
                                              // 매개변수의 값을 받을수있는 여부를 찾아서 구분해야함.				
		int sum=0;
		sum = first + second;
		return sum;
	}
}

class CalSuber {
	public void Suber(int first, int second) { // 리턴값이 없으므로 void
		int sum=0;
		sum = first - second;
		System.out.println("2.뺄셈의 결과는 = " +sum);
	}
}

class CalMultier {
	public int Multier() {
		int first = 500, second = 200, sum=0;
		sum = first * second;
		return sum;
	}
}

class CalDividerMok {
	public void DividerMok() {
		int first = 500, second = 200, sum=0;
		sum = first / second;
		System.out.println("4.나눗셈 몫의 결과는 = " +sum); //2
	}
}

class CalDividerReer {
	public void DividerReer() {
		int first = 500, second = 200, sum=0;
		sum = first % second;
		System.out.println("5.나눗셈 나머지의 결과는 = " +sum); //100
	}
}


public class MethodSample5 {

	public static void main(String[] args) {
		int x, y;
		Scanner sc = new Scanner(System.in);
		System.out.println("두 개의 숫자를 입력하세요.");
		x = sc.nextInt();
		y = sc.nextInt();
		
		//메소드 Adder(x,y)라는 값을 전달할 때, add하는 오브젝트는 CalAdder()라는 클래스에서 만들어진 객체이므로
		//CalAdder()라는 클래스에 접근하여 Adder(x,y)라는 메소드명을 찾아서 값을 전달해 줍니다.  
		CalAdder add = new CalAdder(); //CalAdder라는 클래스가 add라는 오브젝트를 생성. 
		int result = add.Adder(x, y); //객체명.메소드명. 전달인자(arguments) : 가인수(보내는 쪽)
		System.out.println("1.덧셈의 결과는 = " +result);
		
		CalSuber sub = new CalSuber();
		sub.Suber(x, y);
		
		CalMultier mul = new CalMultier();
		int result2 = mul.Multier();
		System.out.println("3.곱셈의 결과는 = " +result2); //100000
		
		CalDividerMok mok = new CalDividerMok();
		mok.DividerMok();
		
		CalDividerReer reer = new CalDividerReer();
		reer.DividerReer();

	}

}


'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

6일차 - 메소드 연습4  (0) 2019.07.01
6일차 - 메소드 연습3  (0) 2019.07.01
5일차 - 메소드 연습  (0) 2019.06.28
5일차 - 과제  (0) 2019.06.28
5일차  (0) 2019.06.28
And

5일차 - 메소드 연습

|
public class AdderSample {
	
	static int sum1; //+연산에 대한 sum값 공유
	static int sum2; //-연산에 대한 sum값 공유
	
	public static void Adder() {//4번 메소드 정의부(선언부 포함), 리턴할필요없으므로 void, static(다른클래스에서 이 메소드를 사용할수있다. 참조가능)
		int i, sum1 = 0;
		for(i=0;i<=100;i++) {
			sum1+=i;
		}
		System.out.println("1~100 사이의 합은 " + sum1);
	}

	public static int Subtract() {
		int x = 500, y = 300, sum2 = 0;
		sum2 = x - y ;
		return sum2; //200
	}

}
-----------------------------------------------------
import java.util.Scanner;

//1~100사이의 합계를 구하는 프로그램 작성(단, 메소드를 이용하여)

public class MethodSample2 {

	public static void Adder() {//4번 메소드 정의부(선언부 포함), 리턴할필요없으므로 void, static(다른클래스에서 이 메소드를 사용할수있다. 참조가능)
		int i, sum = 0;
		for(i=0;i<=100;i++) {
			sum+=i;
		}
		System.out.println("1~100 사이의 합은 " + sum);
	}
	
	public static void main(String[] args) {
		MethodSample2 ms2 = new MethodSample2(); //객체 생성. MethodSample2라는 클래스에서 ms2라는 객체를 생성(클래스의 시작주소기억)
		ms2.Adder(); //객체 호출

	}

}
-----------------------------------------------------
public class MethodSample3 {

	public static void main(String[] args) {

		AdderSample ms2 = new AdderSample(); // 객체 생성. MethodSample2라는 클래스에서 ms2라는 객체를 생성(클래스의 시작주소기억)
		ms2.Adder(); // 객체 호출
		int sub = ms2.Subtract(); // 3번 메소드 스타일
		System.out.println(sub);

	}


}
-----------------------------------------------------
public class MethodSample4 {

	
	
	public static void main(String[] args) {
		int sum2 = 0;
		AdderSample.Adder();
		AdderSample.Subtract();
		

	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

6일차 - 메소드 연습3  (0) 2019.07.01
5일차 - 메소드연습 2  (0) 2019.07.01
5일차 - 과제  (0) 2019.06.28
5일차  (0) 2019.06.28
4일차 - 과제  (0) 2019.06.27
And

5일차 - 과제

|
import java.util.Scanner;

public class 과제0628 {

	public static void main(String[] args) {

//과제1] 1~100 사이의 소수를 구하여 출력하세요.
//소수 : prime number 1과 자기자신의 수로만 나누어 떨어지는 수.
		
		int i, j, count; //i는 목, j는 나눌 값
		for(i=1;i<=100;i++) {
			count=0; 
			for(j=2;j<i;j++)
				if(i%j == 0)
					count+=1;
				if(count==0)
				System.out.println(i + "는 소수입니다.");
			}
		

//과제2] 국어, 영어 점수를 입력받아서 처리하되, 0점이상 100점 이하로 성적이 입력되도록 하여 합계와 평균을 구합니다.
		
		int kor=0, eng=0, sum = 0;
		float avg=0;
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("국어 점수를 입력하세요.");
		while(true) {
		kor = sc.nextInt();
			if(kor<0 || kor>100)
				System.out.println("잘못된 점수를 입력하셨습니다. 다시 입력해주세요.");
			else
				break;
		}
		
		System.out.println("영어 점수를 입력하세요.");
		while(true) {
		eng = sc.nextInt();
		
			if(eng<0 || eng>100)
				System.out.println("잘못된 점수를 입력하셨습니다. 다시 입력해주세요.");
			else
				break;
		}
			
		sum = kor + eng; 
		avg = (kor + eng) / 2;
		
		System.out.println("합계는 " + sum + "점, 평균은 " + avg +" 점입니다.");
	
		
//과제3] 컴퓨터와 숫자 맞추기 게임을 합니다.
// 하나의 난수는 컴퓨터가 발생하여 저장하고, 그 숫자를 사람이 맞추어가는 형태로 진행합니다.
// 카운트하여 몇번만에 맞추었는지도 출력하고 
// 게임을 계속 진행하려면 yes(1), 그만 두려면 no(2)를 입력합니다.
		
		
		
		Scanner sc = new Scanner(System.in);
		System.out.println("컴퓨터와 숫자 맞추기 게임을 시작합니다. 최대 숫자를 입력해주세요");
		int max = sc.nextInt();
		while(true) {
			int a = (int)(Math.random()*max); // 
			int x = a;
			int i = 0;
		while(true) {
			System.out.println("알아맞춰보세요.");
			int y = sc.nextInt();
			i++;
			
			if(x < y) {
				System.out.println("입력하신 값보다 작습니다.");
				continue;
			}else if(x > y) {
				System.out.println("입력하신 값보다 큽니다.");
				continue;
			}else if(x == y) {
				System.out.println("정답입니다." + i + "번 만에 맞추셨군요!");
				break;
			}
		}
		while(true) {
			System.out.println("게임을 계속 진행하려면 yes, 그만 두려면 no를 입력합니다.");
			String z = sc.next();
			if(z.equals("yes")) {
				System.out.println("게임을 다시 시작합니다.");
				break;
			} else if(z.equals("no")) {
				System.out.println("프로그램을 종료합니다.");
				System.exit(0);
			} else {
				System.out.println("잘못입력하셨습니다.");
				continue;
			}
		}
		}
	
		
//과제4] 피보나치 수열을 작성하고, n번째 항까지의 합을 구하여 출력하세요.(n은 입력받거나, 직접 정해라)
//피보나치 수열 : 1, 1, 2, 3, 5, 8, 13, 21 ....(n번째 항은 (n-2)번째항, (n-1)번째 항의 합)
		
		int num1 = 1;
		int num2 = 1;
		int num3 = 0;
		
		Scanner sc = new Scanner(System.in);
		System.out.println("피보나치 수열을 시작합니다. 계산하고자 하는 최대 항을 입력해주세요");
		int pibo = sc.nextInt();
		int i;
		for(i=1;i<=pibo;i++) {
			num3 = num1 + num2;
			num1=num2;
			num2=num3;
		}
		System.out.print(num3);	
			
		
//과제5] 다음식을 만족하는 모든 A와 B를 구하는(출력하는) 프로그램을 작성하세요.(숫자를 입력받아서?, 반복문)
//       AB 예> 63   72    54
//		+BA     36   27    45 
//      ----   ----  ---- ----
//       99     99   99    99....
		
		for (int A = 0; A < 10; A++)
		{
			for(int B = 0; B < 10; B++)
			{
				if((10*A+B)+(10*B+A)==99)
					System.out.println((10*A+B)+" + " + (10*B+A) + " = " + 99);
			}
		}

		
	}
}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

5일차 - 메소드연습 2  (0) 2019.07.01
5일차 - 메소드 연습  (0) 2019.06.28
5일차  (0) 2019.06.28
4일차 - 과제  (0) 2019.06.27
4일차  (0) 2019.06.27
And

5일차

|

주요내용 : 메소드, 반복문(팩토리얼 구하기, while, do ~ while, break) 마무리.

 

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

//------------------------------------메소드---------------------------------------
//Method(함수 = function) : 자주 반복적으로 특정 작업을 실행하기 위한 명령어들의 집합입니다.
// 명령어 : 연산자, 조건문, 반복문, 배열, 클래스, 오브젝트 등을 말합니다.
//--------------------
// 종류 4가지에 따른 분류기준
//--------------------
// 전달인자값     결과값의리턴
// -------------------
//1.  O           O   : 1번스타일
//2.  O           X   : 2번스타일
//3.  X           O   : 3번스타일
//4.  X           X   : 4번스타일
//--------------------
//메소드는 원형의 정의시에 메소드 선언부, 메소드 정의부, 메소드 호출(실행)부

public class 실습0628 {
//Field Area : 클래스 변수(전역변수; 프로그램 전체에 걸쳐서 영향을 줌), 클래스 메소드, 생성자, 메소드...
	
	/* ---------public static int Adder(int x, int y) 분석-----------
	 * 
	 * public : 공개적인(열린) : 누구든지(public, protected, private, 생략) 접근할 수 있다.
	 * static : 공유하는(클래스, 메소드, 변수)
	 * int : 정수형으로 반환하라. 
	 * Adder : 메소드명
	 * (int x, int y) : 매개변수 값.
	 * { : 메소드의 시작
	 *  ....코딩부분....
	 * } : 메소드의 끝 
	 * 
	 */
	
	//1번 메소드
	public static int Adder(int x, int y) {//1번 메소드 정의부(선언부 포함)
		int sum = x + y;
		return sum;
	}
	
	//2번 메소드
	public static void Adder(int x, int y) {//2번 메소드 정의부. void(리턴값이 없다.)
		int sum = x + y;
		System.out.println("2.style = " + sum); // 메소드에서 바로 출력.
		
	//3번 메소드
	public static int Adder() {//3번 메소드 정의부. 전달부분(매개변수) 없다.
		int x, y, sum;//
		
		Scanner sc = new Scanner(System.in);
		System.out.println("정수형 값으로 두 숫자를 입력 하세요.");
		x = sc.nextInt(); //500
		y = sc.nextInt(); //300
		
		sum = x + y;
	
		return sum;
	}
	
	
	//4번 메소드
	public static void Adder() {//4번 메소드 정의부(선언부 포함), 리턴할필요없으므로 void
		int x, y, sum;//
		
		Scanner sc = new Scanner(System.in);
		System.out.println("정수형 값으로 두 숫자를 입력 하세요.");
		x = sc.nextInt(); //500
		y = sc.nextInt(); //300
		
		sum = x + y;
	
		System.out.println("4.style = " + sum);
	}
	
	
	// 프로그램의 시작과 끝.
	public static void main(String[] args) {//main 메소드(프로그램 전체에 1개밖에 없음.)
	
		//1번 스타일. 두 수를 입력받아서, 덧셈을 하여 출력합니다.
		int x, y;//지역변수, 메인 메소드 안에 들어있음.
		
		Scanner sc = new Scanner(System.in);
		System.out.println("정수형 값으로 두 숫자를 입력 하세요.");
		x = sc.nextInt(); //500
		y = sc.nextInt(); //300
			
		int result = Adder(x, y); //메소드 호출(실행)부, Adder(x,y):x,y => 전달인자값
		System.out.println("1.style = " + result);
			
		
		//2번 스타일. 두 수를 입력받아서, 덧셈을 하여 출력합니다.
		int x, y;//지역변수, 메인 메소드 안에 들어있음.
		
		Scanner sc = new Scanner(System.in);
		System.out.println("정수형 값으로 두 숫자를 입력 하세요.");
		x = sc.nextInt(); //500
		y = sc.nextInt(); //300
			
		Adder(x, y); //메소드 호출(실행)부, 결과값 출력부분이 메소드로 옮겨져있음.

				
		//3번 스타일. 두 수를 입력받아서, 덧셈을 하여 출력합니다.
		int result = Adder(); //메소드 호출(실행)부,리턴값 없다, 결과값 출력부분이 메소드로 옮겨져있음.
		System.out.println("3.style = " + result);
		
				
		//4번 스타일. 두 수를 입력받아서, 덧셈을 하여 출력합니다.
		Adder();


		
		
//----------------------------------------반복문------------------------------------	
		
		// factorial 구하기(x!) - 입력받아서
		int i, sum=1;
		Scanner sc = new Scanner(System.in);
		System.out.println("팩토리얼 구할 수를 입력하세요.");
		int x = sc.nextInt();
		
		for(i=1; i<=x; i++) {
			sum*=i;
			System.out.println("i= " + i + ", 합계는 = " + sum);
		}
		
		// 1+2+3+4+5+6+7+8+9+10=55 출력되도록 코딩합니다. - 별찍기와 같은 원리
		for(int i = 1, j= 0; i<=10; i++) {
			j+=i; 
			System.out.print(i); // 연속되는 값 1~10 출력
			
			if(i==10) {
				System.out.print("="); // 바뀌는 연산자와 합 계산 부분.
				System.out.print(j);//결과값 출력.
			}else {
				System.out.print("+"); //반복 + 출력.
			}
		}
		
		
		
//-- while(~하는 동안에, 참인 경우에 반복 실행, 조건식 이용이나 true)
		
		//문제] Hello Java라는 문자열을 5번 반복 출력하세요. - while 문을 사용하여서 출력할것.
		String str = "Hello Java";
		int i = 1;
		while(i<=5) {
			System.out.println(str);
			i++;
		}

		//"I like Java Programming~~!!!" 를 5번 출력하세요.
		String str = "I like Java Programming~~!!!";
		int i = 1;
		while(i<=5) {
			System.out.println(str);
			++i;
		}
		
		//문제] -1+3-5+7-9+11-.....+99 = "?" 합계를 구하시오. -  while 문 사용. 
		
		//나의 풀이
		int sum = 0, i = 1, p=-1; //p:부호변환용 기호(+,-) 변수
		while(i<=50) {
			sum+=(2*i-1) * p;// sum = sum + (i * p);
			p*=-1;//p = p * -1; // 부호변환 지점(부분)
			i++;
		}
		System.out.println("부호변환이용 : " + sum); // 50
		
		//강사님 풀이
		int sum = 0, i = 1, sw=1; //(true)
		while(i<=99) {
			sw = sw* -1;
			sum = sum + (i*sw);
			i+=2;
		}
		System.out.println("true, false 이용 : " + sum); // 50
		
		//문제] 1~200 사이의 7의 배수의 합과 갯수를 구하여 출력합니다. - while 문 사용.
		int sum = 0, i = 7, count = 0;
		while(i<=200) {
				sum+=i;
				count++;
				i+=7;
		}
		System.out.println("1~200 사이의 7의 배수의 합은 : " + sum); // -50
		System.out.println("1~200 사이의 7의 배수의 갯수는: " + count); // -50
		
		//문제] 2개의 난수를 발생하여 합이 50이 되면, 프로그램을 중지하고, 아니면 계속 난수가 발생됩니다. - while문 이용.
		
		//Math.random 이용
		int num = 0, num2 = 0;
		while(num+num2 != 50) {
			num = (int)(Math.random()*50); // 50은 최대경우의 수임(0~49)
			num2 = (int)(Math.random()*50);
			System.out.println(num+num2);
		}System.out.println("합이 50이 발생하였으므로, 프로그램을 중지합니다.");

//---- do ~ while : 무조건 실행을 하고, 조건을 나중에 체크하여 거짓이면 종료,
		
		//"I Like Java Programming" 문자열을 5번 출력하세요.
		String str = "I Like Java Programming";
		int x = 1;
		do {
			System.out.println(str);
			x++;
		}while(x<=5);
		
		//1~100사이의 7의 배수의 합과 갯수를 구하여 출력합니다.
		int x= 0, sum = 0, count = 0;
		do {
			x+=7;
			sum+=x;
			count++;
		}while(x<=100);
		System.out.println("7의 배수의 합은 = " +sum);
		System.out.println("7의 배수의 갯수는 = " +count);
		
		//문제] 두 수를 입력받아서, 큰 값과 작은 값을 구별하여 출력하세요.
		Scanner sc = new Scanner(System.in);
		System.out.println("두 값을 입력하세요.");
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		do {
			if(num1 > num2) {
				System.out.println("큰 값은 = " + num1 + ", 작은 값은 = " + num2);
				break;
			} else if(num1 < num2) {
				System.out.println("큰 값은 = " + num2 + ", 작은 값은 = " + num1);
				break;
			} else
			System.out.println("두 수의 값은 같습니다.");
			break;
		}while(true);
			
		//강사님 풀이 - stop 부분에 에러있음....
		int xValue, yValue;
		String stop = null;
		do {
			if(stop == "exit") {
				System.exit(0);
			}
			Scanner sc = new Scanner(System.in);
			System.out.println("두 값을 입력하세요.");
			String num1 = sc.next();
			String num2 = sc.next();
			int x = Integer.parseInt(num1);
			int y = Integer.parseInt(num2);
			xValue = x > y ? x : y ; //큰값
			yValue = x < y ? x : y ; //작은값

			System.out.println("큰 값은 = " + xValue + ", 작은 값은 = " + yValue);
		}while(true);
		
		//문제5] 5! 팩토리얼 구하기
		int i = 1, sum=1;
		do {
			sum*=i;
			i++;
		}while(i<=5);
		System.out.println(sum);
		
		//1~100 사이에 3의 배수이면 건너뛰세요. 3의 배수가 아니면, 출력합니다.
		int i = 3;
		do {
			i++;
			if(i%3 ==0) {
				continue;
			}System.out.println(i);
		}while(i<100);
		
//--- break -----
		
		//1~100 사이의 12345 라는 숫자를 5번 반복 출력하고 탈출하세요.
		for(int i = 1;i<100;i++) {
			
			for(int j = 1 ; j<=5; j++) {
				System.out.print(j);
			}
			if(i==5) {
				break;
			}
		}
		
		//문제] 1~100 사이의 덧셈의 합 중에 합이 3000에 가장 가까운 수를 구하여 출력합니다.
		//나의 풀이 -- 3024가 왜 나오지!!!??
		int i, sum;
		for(i=0; i<=100;i++) {
			for(sum=0;sum<=3000;sum+=i) {
				i++;
			}System.out.println(sum);
		}
		
		//강사님 풀이
		int i, sum = 0, irobot = 0;
		for(i=0; i<=100;i++) {
			sum+=i;
			if(sum>=3000) {
				irobot = i;
				break;
			}
		}
		System.out.println(irobot); // 77
		System.out.println(sum); //3003
		
		//문제] 5의 배수와 7의 배수가 되는 첫번째 숫자를 구하여 출력하세요.
		//방법1 - for문
		int i;
		
		for(i=1;true;i++) {
			if(i%5==0 && i%7==0) {
				break;
			}
		}
		System.out.println(i); // 35
		
		//방법2 - while, break 사용
		int i = 0;
		
		while(true) {
			i++;
			if(i%5==0 && i%7==0) {
				break;
			}
		}
		System.out.println(i); // 35
		

		
		

		
  }
}


'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

5일차 - 메소드 연습  (0) 2019.06.28
5일차 - 과제  (0) 2019.06.28
4일차 - 과제  (0) 2019.06.27
4일차  (0) 2019.06.27
3일차 - 과제  (0) 2019.06.26
And

입력양식 - form

|

사용자가 입력한 양식을 서버로 전송하는 것을 form 이라 한다.

 

################ 텍스트 입력 ################

 

"입력form의 제목 "<input type="형식"> ; 입력 form을 형식에 따라 입력할 수 있음.

 

<input type="submit"> ; 제출(전송)버튼

 

<form action="URL"> ; 제출버튼을 누르면 URL로 이동(전송).

 

<input name="제목"> ; form action으로 전송할때 input에 넣은 값들 앞에 붙는 제목들.

 

<input value="기본값"> ; 입력 form 초기값에 "기본값"이 적혀서 나온다.

 

<textarea> ; 여러줄 입력할 수 있는 form </textarea>

 

<textarea cols="숫자"> ; 숫자만큼 열을 입력할수 있게 크기가 커짐.

 

<textarea rows="숫자"> ; 숫자만큼 행을 입력할수 있게 크기가 커짐.

 

################ 선택 ################

 

<select name="이름" multiple> ; 이름으로 구성된 항목을 다중선택할 수 있음.

 

<option value="url전송값"> 이름 </option> ; 이름으로 구성된 선택 박스 생성.

 

<input type="radio" name="이름" value="red"> ; Radiobutton(단일선택). 같은 이름으로 구성된 것들은 그룹이 되며 서로 1개씩만 선택가능. 끝에 "checked" 붙은 항목이 기본값으로 설정됨.

 

<input type="checkbox" name="size" value="95"> ; Checkbox(다중선택). 같은 이름으로 구성된 것들은 그룹이 되며 서로 다중 선택 가능. 끝에 "checked" 붙은 항목이 기본값으로 설정됨.

 

################ 버튼 ################

 

<input type="submit"> ; 제출(전송)버튼

 

<input type="button" value="버튼" onclick="alert('hello world')"> ; 기본 버튼

 

<input type="reset"> ; 초기화

 

################ 데이터전송 - hidden ################

 

<input type="hidden" name="hide" value="egoing"> ; 서버로 값을 전송할때 안보이게 하는.(보안?)

 

################ 컨트롤의 제목 - label ################

 

<label for="속성"> text </label> ; 무언가의 이름표. input 태그의 속성을 입력하여 같은 그룹으로 묶임. 영역지정기능.

 

################ method ################

 

<form action="URL" method="post"> ; 'post' method 방식으로 사용시, 데이터를 숨겨서 전송.('get'방식은 이와 반대로 데이터가 url에 보여짐)

 

################ 파일업로드 ################

 

<input type="file" name="profile"> ; 파일선택 버튼 생성

<form action="URL" method="post" enctype="multipart/form-data"> ; 파일업로드 기능 사용시 enctype="multipart/form-data" 무조건 사용해야함.

 

'HTML & CSS' 카테고리의 다른 글

모바일 지원 (viewport)  (0) 2019.07.05
정보로서의 HTML  (0) 2019.07.02
표 - table  (0) 2019.06.27
부록 : 코드의 힘  (0) 2019.06.23
서버와 클라이언트  (0) 2019.06.21
And