'전체 글'에 해당되는 글 384건
- 2019.07.01 6일차 - 생성자
- 2019.07.01 6일차 - 메소드 연습6
- 2019.07.01 6일차 - 메소드 연습5
- 2019.07.01 6일차 - 메소드 연습4
- 2019.07.01 6일차 - 메소드 연습3
- 2019.07.01 5일차 - 메소드연습 2
- 2019.06.28 5일차 - 메소드 연습
- 2019.06.28 5일차 - 과제
- 2019.06.28 5일차
- 2019.06.27 입력양식 - form
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 |
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 |
/*
* 문제] 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 |
//문제 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 |
주요내용 : 메소드 오버로딩, 재귀호출
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 |
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 |
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 |
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 |
주요내용 : 메소드, 반복문(팩토리얼 구하기, 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 |
사용자가 입력한 양식을 서버로 전송하는 것을 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 |