class ConstractorTest 

{

String name;

String tel;

int age;

//생성자메소드의 다른 생성자메소드 호출하는 법

ConstractorTest(){

//name = "guest";

this("guest");

}

ConstractorTest(String name){

this.name = name;

}

ConstractorTest(String name, String tel){

//this.name = name;

this(name);

this.tel = tel;

}

ConstractorTest(String name, String tel, int age){

//this.name = name

//this.tel = tel;

//같은 클래스의 다른생성자를 호출할 때는 this()를 사용한다.

//첫번째 줄에만 사용할 수 있다.

this(name, tel);

this.age = age;

}


public static void main(String[] args) 

{

ConstractorTest ct1 = new ConstractorTest("조현");

ConstractorTest ct2 = new ConstractorTest("조현", "010-9142-1348", 35);

System.out.println("ct2.name="+ct2.name);

System.out.println("ct2.tel="+ct2.tel);

System.out.println("ct2.age="+ct2.age);

ConstractorTest ct3 = new ConstractorTest();

}

}



'응용 SoftWare > JAVA' 카테고리의 다른 글

클래스 상속  (0) 2016.12.01
[객체] 로또번호 생성기  (0) 2016.11.30
오버로딩(overloading)  (0) 2016.11.30
[객체] 구구단 만들기  (0) 2016.11.30
[객체] 임의의 수를 입력받아 여러 수식을 만들어라.  (0) 2016.11.30
Posted by Hyun CHO
,

class OverloadingTest 

{

//오버로딩

//같은 이름의 메소드가 하나의 클래스에서 여러개가 존재한다.

void output(){

System.out.println("output()..");

}

void output(String msg){

System.out.println("output("+msg+")");

}

void output(int n){

System.out.println("output("+n+")");

}

void output(int a, int b){

System.out.println("output("+a+","+b+")");

}

public static void main(String[] args) 

{

OverloadingTest ot = new OverloadingTest();

ot.output();

ot.output(100, 200);

System.out.println(ot);

}

}



Posted by Hyun CHO
,

import java.util.Scanner;

class  GugudanObject

{

GugudanObject(){}

void start(){

int dan = danInput("단입력");

for(int i=2; i<=9; i++){

print(dan, i);

}

}


//단입력

int danInput(String msg){

Scanner scan = new Scanner(System.in);

System.out.print(msg+" = ");

return scan.nextInt();

}


//계산

int multiple(int dan, int num){

return dan*num;

}


//출력

void print(int dan, int num){

System.out.println(dan+" * "+num+" = "+multiple(dan, num));

}


//메인

public static void main(String[] args) 

{

GugudanObject gu = new GugudanObject();

gu.start();

}

}

/*

생성자메소드에서는 다른메소드 호출하지 않는다.

멤버변수가 없다.

단입력 = __


__ * 2 = __

__ * 3 = __

__ * 4 = __

__ * 5 = __

__ * 6 = __

__ * 7 = __

__ * 8 = __

__ * 9 = __

*/

Posted by Hyun CHO
,

import java.util.Scanner;

class  ClassEx1

{

//int num;

ClassEx1(){

//numberInput();

//allHap();

}


//콘솔에서 값을 입력받는 메소드

int numberInput(){

Scanner scan = new Scanner(System.in);

System.out.print("임의의 정소 입력 = ");

//int num = scan.nextInt();

//return num;

return scan.nextInt();

}

//합

void hap(int num){

int sum = 0;

for(int i=0; i<=num; i++){

sum += i;

}

numberOutput("합", sum, num);

}

void oddHap(int num){

int sum = 0;

for(int i=1; i<=num; i+=2){

sum += i;

}

numberOutput("홀수의 합",sum, 10);

}

void evenHap(int num){

int sum = 0;

for(int i=2; i<=num; i+=2){

sum += i;

}

numberOutput("짝수의 합", sum, 10);

}

void allHap(){

//hap();

//oddHap();

//evenHap();

}

//출력하는 메소드

void numberOutput(String msg, int result, int num){

System.out.println("1 ~ "+num+"까지의 "+msg+" = "+result);

}

public static void main(String[] args) 

{

/*ClassEx1 ce = new ClassEx1();

ce.numberInput();//입력

ce.hap();

ce.oddHap();

ce.evenHap();

ce.allHap();*/

ClassEx1 ce2 = new ClassEx1();

int a = ce2.numberInput();

ce2.hap(a);

ce2.oddHap(a);

}

}

/*

실행

임의의 정수입력 = ___

1~___까지의 합 = ___

1~___까지의 홀수의 합 = ___

1~___까지의 짝수의 합 = ___

*/

Posted by Hyun CHO
,

메소드명과 클래스명이 같아야 한다.

반환형이 없다.

생성자 메소드를 여러개 만들 경우 변수의 갯수나 데이터형이 달라야 한다.

객체 생성시 실행된다.

같은 클래스의 다른 생성자를 생성자 메소드명으로 호출할 수 없다.


class ConsTest 

{

ConsTest(){

System.out.println("Constest() 실행됨");

}

ConsTest(int i){

System.out.println("Constest(int i) 실행됨");

}

ConsTest(String name){

System.out.println("Constest(String name) 실행됨");

}

ConsTest(int i, String name){

System.out.println("Constest(int i, String name) 실행됨");

//ConsTest();

}

}



Posted by Hyun CHO
,

void 메소드명()


void numberOutput(){

for(int i=0; i<=10; i++){

System.out.println(i);

}

}

void numberOutput(int num){

for(int i=1; i<=num; i++){

System.out.println(i);

}

}

void oodNumberOutput(){

for(int i=1; i<=10; i+=2){

System.out.println(i);

}

}

void evenNumberOutput(){

for(int i=2; i<=10; i+=2){

System.out.println(i);

}

}

int sum(){

int total=0;

for(int i=0; i<=10; i++){

total += i;

}

return total;

}

}

Posted by Hyun CHO
,
예제
실행
학생수 = 3
이름 = 홍길동
국어 = 80
영어 = 98
수학 = 85
이름 = 홍길동
국어 = 80
영어 = 98
수학 = 85
이름 = 홍길동
국어 = 80
영어 = 98
수학 = 85
===============================
이름 국어 영어 수학 총점 평균 석차
홍길동 80 98 85 263 86 1
홍길동 80 98 85 263 86 1
홍길동 80 98 85 263 86 1
총점 240 294 255
평균 80 98 85

=====================================================================

import java.util.Scanner;

class  ArrayEx1
{
public static void main(String[] args) 
{
Scanner scan = new Scanner(System.in);
String title[] = {"이름", "국어", "영어", "수학", "총점", "평균", "석차"};

//학생수
System.out.print("학생수 = ");
int studentCnt = scan.nextInt();
//학생 이름을 저장할 배열
String name[] = new String[studentCnt];
//점수 저장할 배열
int jumsu[][] = new int[studentCnt+2][6];

//이름, 국어, 영어, 수학 점수 입력받아 배열에 저장
for(int i=0; i<studentCnt; i++){ //학생수 만큼 반복
System.out.print("이름 = ");
name[i] = scan.next();
//점수입력
for(int j=0; j<3; j++){
System.out.print(title[j+1]+" = ");
jumsu[i][j] = scan.nextInt();
}
}
for(int i=0; i<studentCnt; i++){ //학생수
for(int j=0; j<=2; j++){ //과목수
jumsu[i][3] += jumsu[i][j]; //개인별 총점
jumsu[studentCnt][j]+= jumsu[i][j]; //과목별 총점
}
//개인별 평균
jumsu[i][4]= jumsu[i][3] / 3;
}
//과목별 평균
for(int i=0; i<=2; i++){
jumsu[studentCnt+1][i] = jumsu[studentCnt][i] / studentCnt;
}
//석차 구하기
for(int i=0; i<studentCnt; i++){
int rank = 0;
for(int j=0; j<=studentCnt; j++){
if(jumsu[i][4] < jumsu[j][4]){
rank++;
}
}
jumsu[i][5] = ++rank;
}
//석차순으로 정렬
for(int i=0; i<studentCnt-1; i++){ //학생수 -1만큼
for(int j=0; j<studentCnt-1; j++){
if(jumsu[j][5] > jumsu[j+1][5]){ //데이터 교환
//이름 교환
String nametemp = name[j];
name[j] = name[j+1];
name[j+1] = nametemp;

//점수 교환
for(int c=0; c<jumsu[j].length; c++){
int jumsutemp = jumsu[j][c];
jumsu[j][c] = jumsu[j+1][c];
jumsu[j+1][c] = jumsutemp;
}
}
}
}

//출력
System.out.println("==============================================================");
for(int t=0; t<title.length; t++){
System.out.print(title[t]+"\t");
}
System.out.println();
//점수 출력
for(int row=0; row<jumsu.length-2; row++){ //행
System.out.print(name[row]+"\t");
for(int col=0; col<jumsu[row].length; col++){ //열
System.out.print(jumsu[row][col]+"\t");
}
System.out.println();
}
//과목별 총점, 평균 출력
int kk = 4; 
for(int i=studentCnt; i<=studentCnt+1; i++){
System.out.print(title[kk++]+"\t"); //제목
for(int j=0; j<=2; j++){
System.out.print(jumsu[i][j]+"\t");
}
System.out.println();
}
}
}



'응용 SoftWare > JAVA' 카테고리의 다른 글

생성자 메소드  (0) 2016.11.29
반환형 메소드  (0) 2016.11.29
중첩반복문 + 구구단 만들기  (0) 2016.11.25
[예제] for문을 이용한 반복문(계산하기)  (0) 2016.11.24
[예제] 달력 만들기  (0) 2016.11.24
Posted by Hyun CHO
,

중첩반복문

for(초기값; 최종값;증가값){

실행문;

:

for(초기값; 최종값; 증가값){

실행문;

:

}

실행문;

:

}

=====================================================================

class For2 

{

public static void main(String[] args) 

{

for(int dan=2; dan<=9; dan++){

System.out.println("== "+dan+" ==");

for(int i=2; i<=9; i++){

System.out.println(dan+" * "+i+" = "+dan*i);

}

}

}

}

=====================================================================
class ForExGuGuDan 
{
public static void main(String[] args) 
{
for(int dan=1; dan<=9; dan+=3){ // 전체회전수 1, 4, 7

// 단의 제목
for(int i=dan; i<dan+3; i++){
System.out.print("=="+i+"단==\t");
}
System.out.println(); // 줄 바꾸기
// 구구단
for(int j=2; j<=9; j++){ // 곱2,3,4,5,6,7,8,9
for(int k=dan; k<dan+3; k++){ // 3개의 단을 출력하기
System.out.print(k+"*"+j+"="+k*j+"\t");
// 출력
}
System.out.println(); // 줄바꾸기
}
}
}
}


Posted by Hyun CHO
,

임의의 수를 입력받아 다음과 같이 처리하라

1~임의의 수=합

1~임의의 수=홀수의 합

1~임의의 수=짝수의 합


ex)

import java.util.Scanner;

class ForEx1 

{

public static void main(String[] args) 

{

Scanner scan = new Scanner(System.in);

System.out.print("임의의 수를 입력=");

int num = scan.nextInt();


int sum=0;

int oddSum=0;

int evenSum=0;

for(int i=1; i<=num; i++){

sum=sum+1;

if(i%2==0){evenSum=evenSum+i;}

else{oddSum=oddSum+i;}

}

System.out.println("1~"+num+"까지의 합은"+sum);

System.out.println("1~"+num+"까지의 홀수의 합은"+oddSum);

System.out.println("1~"+num+"까지의 짝수의 합은"+evenSum);

}

}



Posted by Hyun CHO
,

import java.util.Scanner;

import java.util.Calendar;

class MyCalendar 

{

public static void main(String[] args) 

{

Scanner scan = new Scanner(System.in);

System.out.print("년도 = ");

int inputYear = scan.nextInt();

System.out.print("월 = ");

int inputMonth = scan.nextInt();


System.out.println("일\t월\t화\t수\t목\t금\t토");


// 날짜 객체

Calendar cal = Calendar.getInstance(); // 지금 현재의 날짜

cal.set(inputYear, inputMonth-1, 1); // 입력 날짜로 변경

int week = cal.get(Calendar.DAY_OF_WEEK); // 요일 구하기

int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); // 달의 마지막 날


// 1일 출력 전 공백처리

for(int i=1; i<week; i++){

System.out.print("\t");

}

// 날짜 출력

for(int i=1; i<=lastDay; i++){

System.out.print(i+"\t");

if((i+week-1)%7==0){

System.out.println();

}

}

}

}



'응용 SoftWare > JAVA' 카테고리의 다른 글

중첩반복문 + 구구단 만들기  (0) 2016.11.25
[예제] for문을 이용한 반복문(계산하기)  (0) 2016.11.24
for 반복문  (0) 2016.11.24
switch 조건문  (0) 2016.11.24
if else if문  (0) 2016.11.24
Posted by Hyun CHO
,