'2013/09'에 해당되는 글 8건

  1. 2013.09.24 Day9
  2. 2013.09.23 Day8
  3. 2013.09.17 Day 7
  4. 2013.09.16 Day6
  5. 2013.09.12 3일차 수업
  6. 2013.09.11 2일째 수업
  7. 2013.09.10 2013.09.10 첫 수업
  8. 2013.09.10 테스트 문제
2013.09.24 12:37

자바의 식별자(Identifier)


: 자바에서 식별자는 클래스, 인터페이트, 변수, 메소드, 배열, 문자열 등을 구분할 수 있는 이름이다.

  이름은 다른 것과 구분해야 하기 때문에 서로 중복되지 않는 것을 사용해야 한다.

  식별자는 길이의 제한이 없고, 유니코드 문자를 사용하기 때문에 한글을 사용할 수 있따.

  대,소문자를 구분하여 사용하며, 식별자를 만드는 관례가 있다.


.식별자의 작성 규칙

 .유니 코드 문자를 사용한다.

 .공백이 없는 한 개의 단어로 구성되어야 한다

 .문자, 숫자, '_', '$'만 사용가능 하다.

 .문자와 '_', '$'로 시작해야 한다.

 .길이의 제한이 없다.

 .대-소문자를 구분한다

 .키워드는 사용할 수 없다.


변수

: 자바에서 일반적인 값을 처리하기 위해 기본형 변수와 

  객체와 배열과 같은 참조형을 처리하기 위한 참조형 변수가 있다.


  변수를 사용하기 위해서는 먼저 변수 선언을 해야 한다.

  변수 선언은 자바 가상 머신(Java Virtual Machine : JVM)에게 

  데이터를 저장하기 위한 메모리를 할당해 달라고 요청하는 것이다.


  형식


  자료형 변수이름;

  int a; // 정수형 변수 a를 위해 필요한 공간을 메모리에 확보하고, 그 기억 공간을 a라고 명명한다.

  a = 25;  // 변수에 값을 초기화 시킨다.


  Stack 메모리 공간을 사용한다.


변수의 종류

: 자료형은 자바의 특성을 그대로 반영한다. 

  자바는 객체 지향 프로그래밍 언어이기 때문에 클래스 처리를 위한 자료형과 

  문자, 정수, 실수, 논리값을 처리할 수 있는 자료형을 제공한다.


  자바에서 사용할 수 있는 자료형은 기본형과 참조형으로 구분할 수 있다.

  기본형 변수는 문자, 논리값, 정수, 실수와 같은 자료형이 있고,

  참조형은 클래스, 인터페이스, 배열 등이 있습니다.


  기본형 문자형 char

정수형 byte, short, int, long

실수형 float(소수점 이하 6자리), double(소수점 이하 15자리) (정밀도의 차이)

논리형 boolean


  참조형 클래스

인터페이스

배열


자료형 키워드 의미     표현범위 크기 기본 초기값

문자형 char         2byte 유니코드     \u0000~\ufff 2byte '\u0000'

논리형 boolean true, fault     true, fault 1byte false

정수형 byte         1byte 정수를 처리    -128~127 1byte 0

정수형 short         2byte 정수를 처리    -32768~32767 2byte 0

정수형       int         4byte 정수를 처리    -2(15)~2(15)- 4byte 0

정수형 long         8byte 정수를 처리    -2(31)~2(31)- 8byte 0l

실수형 float         4byte 실수를 처리 4byte 0.0f

실수형 double 8byte 실수를 처리 8byte 0.0




Posted by saudades

댓글을 달아 주세요

2013.09.23 11:49

사람 > OS > 컴퓨터

     (해석)


컴퓨터에서 인식하는 코드는 ASCii, 컬러코드


컴퓨터는 ascii코드를 인식하고, 2진수로 표시


A > 65

a > 97

48 > 0

13 > return(엔터)

10 > new line


인터프리터 방식 <-> 컴파일러

한줄씩 해석하여 실행 <-> 소스의 에러를 검출하고 실행 파일로 만들어 실행


자바는 두 방식 모두 지원 (인터프리터는 JVM을 통해 지원)


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


2013-09-23  오전 10:40    <DIR>          .

2013-09-23  오전 10:40    <DIR>          ..


. 은 현재 디렉토리

.. 은 상위 디렉토리


웹 상에서는 상대 디렉토리를 표현하기 위해 '..'을 사용한다.

클래스 패스 설정 시 '.'을 사용하는데, 자기 자신의 위치 부터 검색한다는 뜻


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


c:\kbs>copy con abcd.txt

abcd

abcd

abcd

abcd

abcd

^Z

글자수를 20개만 입력했는데, 30byte로 표시되는 이유는

엔터키를 누를 때마다, ascii 13(carriage return)과 10(New line)이 함께 들어가기 때문


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


파일의 확장자 > 의미를 준다.

(*임의적으로 지정하지 않는 것이 좋다)


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

----from---to---

copy con fff.txt  console로부터 fff.txt로 복사 > 파일로 입력


copy fff.txt con  fff.txt로부터 console로 복사 > 모니터로 출력


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


C:\kbs>abc

'abc'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는

배치 파일이 아닙니다.


내부 명령어

외부 명령어

실행할 수 있는 프로그램

배치 파일 > 내부 명령어 외부 명령어 프로그램을 배치 시킨 파일.


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

File 목록을 모두 보는 4가지 방법

dir

dir *.*

dir ????????.???

dir .


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

외부명령어는 

외부명령어가 포함되어 있는 디렉터리에 있거나,

PATH에 포함되어 있어야 실행가능


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


상대경로와 절대경로


..\..\..\


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


바탕화면/폴더명,파일명을 한글로 하지 말것


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


자바에서의 고비

클래스

생성자


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

Posted by saudades

댓글을 달아 주세요

2013.09.17 11:07

Day 7

 


배열(Array) : 변수를 모아 놓은 것

변수 : 1개의 값을 저장

배열 : 여러개의 값을 순서대로 저장

 


사용 예) int []a = {1,2,3,4,5,6,7,8,9,10} // 배열의 초기치 설정

int : 데이터형

[] : 배열

a : 배열이름

a[n] : a라는 배열의 n번째

 


※객체도 배열에 저장이 가능하다.

 


정렬(sort) : 차례대로 나열

오름차순(asending) - 작은 수부터 차례대로, default

내림차순(desending) - 큰 수부터 차례대로

 


선택정렬

버블정렬

삽입정렬

Heap정렬

 


삽입정렬

 


횟수 |기준(i)|비교(j)

1 |0 |1,2,3,4

2 |1 |2,3,4

3 |2 |3,4

4 |3 |4

 


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

//홀수의 합을 구하는 과정

 

 

 

public class Sample {

 


public static void main(String[] args){


//int []a=new int [5]; // a[0]~a[4]까지 기억장소 확보

int []a={1,2,3,4,5}; // 배열의 초기화

int sum=0; // 사용할 변수의 초기화

for(int i=0;i<a.length;i++){

if(a[i]%2==1){ // 2로 나눈 나머지 값이 1, 즉 홀수

sum = sum + a[i]; // 합을 구하는 과정

System.out.println(a[i]); // a[i] 값을 화면에 출력

}else{


}

}

System.out.println(sum); // 화면에 출력

}

}

 


실행결과

 


1

3

5

9

 

 

 

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

//배열의 최대값과 최소값을 입력

 


public class Sample {

 


public static void main(String[] args){


//int []a=new int [5]; // a[0]~a[4]까지 기억장소 확보

int []a={1,2,3,6,99,4,5,0}; // 배열의 초기화

int max=a[0]; // 사용할 변수의 초기화

int min=a[0];

for(int i=0;i<a.length;i++){

if(max < a[i]){ // a[i]가 max보다 큰가?

max = a[i]; // a[i]가 max보다 크면, a[i]를 max에 입력

}

if(min > a[i]){ // min가 a[i]값보다 큰가?

min = a[i]; // min이 a[i]보다 크면, a[i]를 min에 입력

}

}

System.out.println(max); // max를 화면에 출력

System.out.println(min); // min을 화면에 출력

}

}

 


실행결과

 


99

0

 


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

// 정렬의 개념

public class Sample {

 


public static void main(String[] args){

 

 

 

int a=10, b=30;

int c=0;


c=a;

a=b;

b=c;


System.out.println(a);

System.out.println(b);

 


}

}

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

// 삽입 정렬 예제

public class Sample {

 


public static void main(String[] args){

 


int a[] =  {6,9,3,5,1,10,4,99,40};

int c=a[0]; // 임시저장소


for(int i=0;i<(a.length-1); i++){// 기준점

for(int j=i+1;j<a.length;j++){ // 비교점

if(a[i]>a[j]){ // 기준점이 비교점보다 큰가?

c = a[j]; // 1.임시저장소에 a[j]값을 저장

a[j]=a[i]; // 2.a[j]에 a[i]값을 입력

a[i]=c; // 3.a[i]에  저장된 a[j]값을 입력 1~3 과정을 거치면서 값이 교체됨

}else{


}

}

}

for(int i=0; i<a.length; i++){

System.out.print(a[i]+"|");

}

}

}

 


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

// ~로 시작하는 문자열, ~로 끝나는 문자열, ~를 포함하는 문자열 찾기

public class Sample {

 


public static void main(String[] args){


String add[] = {"서울시 강남구 역삼동", "경기도 안양시 목감동", "서울시 동대문구", "서울시 은평구 녹번동", "강원도 원주시", "서울시 서초구 서초동", "인천시 남동구 논현동"}; // 배열의 초기치

String cmp = new String();

for(int i=0;i<add.length;i++){

if(add[i].endsWith("동")){//startsWith(String n)//n으로 시작하는, contains(String s)//s를 포함하는

System.out.println(add[i]);

}


}

 


}

}

 


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

// 석차구하는 예제

public class Sample {

 


public static void main(String[] args){

//5명의 점수 입력!! 5명의 석차를 구하시오.

int a[]={50,80,70,60,90,34,56,67,87,23,45};

int b[]= new int[a.length];

// 처리 => 석차를 구하는 과정

int c;

int r;

for(int i=0;i<a.length; i++){// 기준점

r=1;

for(int j=0;j<a.length;j++){ // 비교점


if(a[i]<a[j]){

r++;

}else{


}

}

b[i]=r;

}


// 출력

for(int i=0; i<a.length; i++){

System.out.println(a[i]+"=="+b[i]);

}

}

}

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

// 난수 생성

import java.util.Random;

public class Sample {

 


public static void main(String[] args){


Random rr = new Random();

int b[] = new int[6];

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

int a = 1+rr.nextInt(6);

System.out.println(a);

b[a-1]++;//배열의 포인트

}


for(int i=0;i<b.length;i++){

System.out.println(b[i]);

}

 

 


}

}

 


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

public class Sample {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int hap, i, j, k=0;
  int ar[][] = new int[5][5];
  for(hap=0;hap<=8;hap++){
   for(i=0;i<=4;i++){
    for(j=0;j<=4;j++){
     if(i+j==hap){
      k++;
      ar[i][j]=k;
     }else{
      
     }
    }
   }
  }
  for(i=0;i<=4;i++){
   for(j=0; j<=4;j++){
    System.out.print(ar[i][j]+"\t");
   }
   System.out.println();
  }
  
 }
}

결과

1 2 4 7 11 
3 5 8 12 16 
6 9 13 17 20 
10 14 18 21 23 
15 19 22 24 25 


=========================================================================
위의 예제를 좀더 효율적으로 바꾼 예
for문 1개가 삭제됨


public class Sample {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int hap, i, j, k=0;
  int ar[][] = new int[5][5];
  for(hap=0;hap<=8;hap++){
   for(i=0;i<=4;i++){
     j = hap - i;
     if(j<0){
      break;
     }else if(j>4){
      
     }
     else{
      k++;
      ar[i][j]=k;
    }
   }
  }
  for(i=0;i<=4;i++){
   for(j=0; j<=4;j++){
    System.out.print(ar[i][j]+"\t");
   }
   System.out.println();
  }
  
 }
}

 


=========================================================================
위 예제의 좀더 효율적인 예


public class Sample {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int hap, i, j, k=0;
  int ar[][] = new int[5][5];
  for(hap=0;hap<=8;hap++){
   for(i=0;i<=4;i++){
     if(i>hap){
      break;
     }else{
      j=hap-i;
      if(j>4){
       
      }else{
       k++;
       ar[i][j]=k;       
      } 
     }
    }
   }
  for(i=0;i<=4;i++){
   for(j=0; j<=4;j++){
    System.out.print(ar[i][j]+"\t");
   }
   System.out.println();
  }
  
 }
}

=========================================================================
마방진 예제


public class Sample {

 public static void main(String[] args) {
  // 마방진 예제 ; 가로합 = 세로합 = 대각선합; 마방진은 반드시 홀수
  int i, j, r=0, c=2; // i,j는 반복횟수 ,r행 ,c열
  int ar[][] = new int[5][5];
  for(i=1;i<=25;i++){
   ar[r][c]=i; // 최초로 a[0][2]=1을 기억
   if(i%5==0){
    r++;
   }else{
    r--;
    if(r<0){
     r=4;
    }
    c++;
    if(c>4){
     c=0;
    }
   }
   
  }
  
  for(i=0;i<=4;i++){
   for(j=0; j<=4;j++){
    System.out.print(ar[i][j]+"\t");
   }
   System.out.println();
  }
  
 }
}

=========================================================================
1. 1의 행과 열을 파악
2. 3행 3열이면 데이터 1-9 3의 배수
5행 5열이면 1-25 5의 배수
7행 7열이면 1-49 7의 배수
3. 2의 조건에 만족하면 분석
조건이 예--- 행이 증가 또는 열이 감소
노 -- 행이 증가 또는 감소
행이 마지막 행보다 크면 0
행이 0미만이면 마지막 행으로 초기화

다음과 같은 마방진이 되도록 하시오


9 2 25 18 11 
3 21 19 12 10 
22 20 13 6 4 
16 14 7 5 23 
15 8 1 24 17 

 


public class Sample {

 public static void main(String[] args) {
  // 마방진 예제 ; 가로합 = 세로합 = 대각선합; 마방진은 반드시 홀수
  int i, j, r=4, c=2; // i,j는 반복횟수 ,r행 ,c열
  int ar[][] = new int[5][5];
  for(i=1;i<=25;i++){
   ar[r][c]=i;
   if(ar[r][c]%5==0){
    r--;
    if(r<0){
     r=4;
    }
   }else{
    r++;
    c--;
    if(c<0){
     c=4;
    }
    if(r>4){
     r=0;
    }
   }  
   
   
  }
  for(i=0;i<=4;i++){
   for(j=0; j<=4;j++){
    System.out.print(ar[i][j]+"\t");
   }
   System.out.println();
  } 
 }
}


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

// 급여를 각 화폐 단위의 매수를 구하는 예제

import java.util.Scanner;


public class Sample {

 public static void main(String[] args) {
  // 급여를 각 화폐 단위의 매수를 구하는 예제
  System.out.println("급여를 입력하세요: ");
  Scanner sc = new Scanner(System.in);
  int don = sc.nextInt();
  int m[]={50000,10000,5000,1000,500,100,50,10,5,1};
  int p=0;
  
  for(int i=0;i<m.length;i++){
   p=don/m[i];
   don = don - (p*m[i]);
   System.out.println(m[i]+"원 : "+p+"장");
  }
  
 }
}


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

Posted by saudades

댓글을 달아 주세요

2013.09.16 17:54

클래스 = 변수 + 함수

변수의 종류 : 정수(int), 실수(double), 문자열(String), 논리형(boolean), 문자(char)

정수 1byte(byte), 2 byte(short), 4byte(int), 8byte(long)

실수 4byte(float), 8byte(double)

문자열 String



형변환

정수형 <> 문자형 (int) or (char)

정수형 <> 실수형 (int) or (double)


조건 비교문

if(){

}else if(){

}else{

}


예외처리


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

import java.util.Scanner;


public class Sample {


public static void main(String[] args) {

// 입력 받은 문자가 대문자이면 소문자로, 소문자이면 대분자로 변환

// 대문자이면 65~90, 소문자이면 95~120

Scanner sc = new Scanner(System.in);

String ss = "KOrea";

// 1. 문자열의 자료를 1문자씩 5번 반복 charAt();

// 2. 자른 1개의 문자값이 65~90이면, 대문자 + 32

// 3.3 자른1개의 문자값이 97~122이면, 소문자 - 32

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

char c=ss.charAt(i);

if(c>=65 && c<=90){

c = (char)(c+32);

System.out.print(c);

}else{

c = (char)(c-32);

System.out.print(c);

}

}

}

}

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

import java.util.Scanner;


public class Sample {


public static void main(String[] args) {

// 입력 받은 문자가 대문자이면 소문자로, 소문자이면 대분자로 변환

// 대문자이면 65~90, 소문자이면 95~120

Scanner sc = new Scanner(System.in);

String ss = "KOrea";

// 1. 문자열의 자료를 1문자씩 5번 반복 charAt();

// 2. 자른 1개의 문자값이 65~90이면, 대문자 + 32

// 3.3 자른1개의 문자값이 97~122이면, 소문자 - 32

for(int i=0;i<ss.length();i++){ // ss.length() 스트링 객체의 길이를 나타냄

char c=ss.charAt(i);

if(c>=65 && c<=90){

c = (char)(c+32);

System.out.print(c);

}else{

c = (char)(c-32);

System.out.print(c);

}

}

}

}

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

import java.util.Scanner;


public class Sample {


public static void main(String[] args) {

// 입력 받은 문자가 대문자이면 소문자로, 소문자이면 대분자로 변환

// 대문자이면 65~90, 소문자이면 95~120

Scanner sc = new Scanner(System.in);

System.out.println("변환할 영문자를 입력하세요 : ");

String ss = sc.nextLine();

// 1. 문자열의 자료를 1문자씩 5번 반복 charAt();

// 2. 자른 1개의 문자값이 65~90이면, 대문자 + 32

// 3.3 자른1개의 문자값이 97~122이면, 소문자 - 32

for(int i=0;i<ss.length();i++){

char c=ss.charAt(i);

if(c>=65 && c<=90){

c = (char)(c+32);

System.out.print(c);

}else if(c>=92 && c<=122){

c = (char)(c-32);

System.out.print(c);

}else{ // 대문자도 소문자도 아닌 경우

System.out.print(c);

}

}

}

}


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

import java.util.Scanner;


public class Sample {


public static void main(String[] args) {

// 입력받은 문자열 중에서 숫자만 출력하기

Scanner sc = new Scanner(System.in);

System.out.println("변환할 영문자를 입력하세요 : ");

String ss = sc.nextLine();

// 1문자씩 잘라내기 위해 문자열의 길이만큼 반복

// 1문자의 값이 숫자의 범위의 길이만큼 복원

// 숫자의 범위 48~57

for(int i=0;i<ss.length();i++){

char c=ss.charAt(i);

if(c>=48 && c<=57){

System.out.print(c);

}else if(c=='-'){

System.out.print(c);

}else{

}

}

}

}


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

import java.util.Scanner;


public class Sample {


public static void main(String[] args) {

// 입력받은 문자열 중에서 숫자만 출력하기

Scanner sc = new Scanner(System.in);

System.out.println("주민번호를 입력하세요.(-포함 14자)");

String ss = sc.nextLine();

int a = ss.indexOf("-"); // 없으면 -1을 return, 있으면 위치를 return

System.out.println(a);

if(a==6){

System.out.println("올바른 위치");

}else{

System.out.println("올바르지 않은 위치");

}

if(ss.contains("-")){

System.out.println("-이 존재함");

}else{

System.out.println("-이 존재하지 않음");

}

}

}


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

import java.util.Scanner;


public class Sample {


public static void main(String[] args) {

int i,j,k;

for(i=2; i<=8; i=i+3){

for(j=1; j<=9; j++){

for(k=i; k<=i+2;k++){

if(k==10)break;

System.out.print(k+"*"+j+"="+(k*j)+"\t");

}System.out.println();

}

}

}

}


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


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

Posted by saudades

댓글을 달아 주세요

2013.09.12 17:52

함수 : Function(Method) 1개의 기능을 갖음

클래스 : 필드(변수)와 메소드로 구성. 생성자.

메소드 구성

1. 이름 - 사용자가 변수처럼 정의

2. 타입(void, int, double, String, char...) 오늘은 void, int, String 타입을 언급

3. ()와 {}가 존재

() 안에는 매개변수가 존재 > 이것을 통해서 값을 전달

{}는 body라고 부르기도 하며 > 메소드의 기능을 구현하는 부분

body가 없는 함수를 추상함수라 한다.

4. 타입 중에서 return이 없으면 void 타입

return 값이 있으면 그 외의 타입


사용예)

public type name(){ 

메소드 기능

}


Class는 틀, 객체는 틀로 생성된 물건

Java에서는 객체 단위로 주소가 할당이 됨


Class 내에 filed(멤버변수)와 method(함수) 외의 항목이 들어가면 에러가 발생


함수의 종류

1. 매개변수가 없고, return 값도 없는 경우 타입이름()

2. 매개변수가 없고, return 값이 있는 경우

3. 매개변수가 있고, return 값이 없는 경우

실인수와 가인수의 갯수와 타입이 반드시 일치해야 함!!

실인수 : 숫자 - 넘겨 주는 값

가인수 : 변수 - 넘겨 받는 값

기능 분담

4. 매개변수가 있고, return 값도 없는 경우


예제 1)

두 수를 입력받아, 작은 수부터 큰 수까지의 합을 구하는 프로그램



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

// 두 수를 받아서 합을 구하는 클래스

// class Sam의 구성요소는 int a,b,sum의 멤버변수와 method인 output으로 구성됨


class Sam{ // 클래스는 field와 method로 구성

int a,b,sum; // field

// System.out.println(sum); 여기에 실행문을 작성하면 에러가 발생함

public void output(){ // method

sum = a + b;

System.out.println(sum);

}

}

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

// 두 수를 받아서 합을 구하는 클래스

class Sam{ // 클래스는 field와 method로 구성

int a,b,sum; // field

// System.out.println(sum); 여기에 실행문을 작성하면 에러가 발생함

public void output(){ // method 합을 출력하는 함수

sum = a + b;

System.out.println(sum);

hi();

}

public void hi(){

System.out.println("왜!!");

koko();

}public void koko(){

System.out.println("그냥");

}

}


public class Hap {


public static void main(String[] args) {

Sam s; // 객체 선언

s = new Sam(); // 객체 생성

Sam j = new Sam(); // 객체 선언과 동시에 생성 

System.out.println(s.hashCode());//hashCode() 메모리의 주소

System.out.println(j.hashCode());

s.a=32;

s.b=1;

s.output();

j.a=1;

j.b=2;

j.output();

}

}

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

매개변수가 없고, return 값이 없는 함수의 예


class Sam{

long start, end;

double sec;

public void process(){

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

System.out.println("김영철"+i);

}

}

public void time(){

start=System.currentTimeMillis();

process();

end=System.currentTimeMillis();

sec = (double)(end - start)/1000;

System.out.println(sec);

}


}


public class Hap {


public static void main(String[] args) {

Sam s = new Sam();

s.time();

}

}

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

// 함수의 종류 2번째 예제 (매개변수는 없고, return 값이 있는 함수

class Sam{

int kor,mat,eng,tot,avg;

public int total(){

return kor+eng+mat;

}

public int average(){

return (total()/3);

}

public void print(){

System.out.println("국어의 점수는 : "+kor+"입니다.");

System.out.println("영어의 점수는 : "+eng+"입니다.");

System.out.println("수학의 점수는 : "+mat+"입니다.");

System.out.println("국영수 점수의 총점은 : "+total()+"점입니다.");

System.out.println("국영수 점수의 평균은 : "+average()+"점입니다.");

}


}


public class Hap {


public static void main(String[] args) {

Sam s = new Sam();

s.kor=100;

s.eng=80;

s.mat=70;

s.print();

}

}


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

// 함수의 종류 3번째 예제 (매개변수가 있고, return 값이 없는 함수

class Sam{

public void aaa(){

bbb(6); // 실인수

}

public void bbb(int a){ //가인수

System.out.println(a);

}


}


public class Hap {


public static void main(String[] args) {

Sam s = new Sam();

}


}

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

// 함수의 종류 4번째 예제 (매개변수가 있고, return 값도 있는 함수)

class Sam{


public void aaa(){

int b = bbb(6);

System.out.println(b);

}

public int bbb(int a){

return a*a;

}


}


public class Hap {


public static void main(String[] args) {

Sam s = new Sam();

s.aaa();

}


}


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

//키보드 입력 추가


import java.util.Scanner;



// 함수의 종류 4번째 예제 (매개변수가 있고, return 값도 있는 함수)

class Sam{


public void aaa(int a, int b){

bbb(a,b);

}

public void bbb(int a, int b){

System.out.println(a+b);

}


}


public class Hap {


private static Scanner sc;


public static void main(String[] args) {

Sam s = new Sam();

sc = new Scanner(System.in);

int a, b;

System.out.println("첫번째 수를 입력하세요 : ");

a = sc.nextInt();

System.out.println("두번째 수를 입력하세요 : ");

b = sc.nextInt();

System.out.print("두 수의 합 : ");

s.aaa(a, b);

}


}


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


import java.util.Scanner;


// 함수의 종류 4번째 예제 (매개변수가 있고, return 값도 있는 함수)

class Sam{

private int kor, eng; // 멤버 변수에 접근을 제한

public void init(int a, int b){ // 제한된 멤버 변수에 접근하기 위한 함수

kor=a;

eng=b;

}

public void out(){

System.out.println("국어 : "+kor);

System.out.println("영어 : "+eng);

System.out.println("총점 : "+(kor+eng));

}

}


public class Hap {


private static Scanner sc;


public static void main(String[] args) {

Sam s = new Sam();

sc = new Scanner(System.in);

s.init(76,30);

s.out();

}


}


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

import java.util.Scanner;


// 함수의 종류 4번째 예제 (매개변수가 있고, return 값도 있는 함수)

class Sam{

private int kor, eng;

public void init(int a, int b){

kor=a;

eng=b;

}

public void out(){

System.out.println("국어 : "+kor);

System.out.println("영어 : "+eng);

System.out.println("총점 : "+(kor+eng));

}

}


public class Hap {


private static Scanner sc;


public static void main(String[] args) {

Sam s = new Sam();

sc = new Scanner(System.in);

s.init(76,30); // 생성자 = 멤버 변수를 초기화 하는 기능 

s.out();

}


}


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


import java.util.Scanner;


// 키보드에서 값을 받아서, 해당하는 구구단을 출력하는 기능

class Sam{

private int number;

public void init(int a){

number = a;

}

public void out(){

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

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

}

}

}


public class Hap {


private static Scanner sc;


public static void main(String[] args) {

Sam s = new Sam();

sc = new Scanner(System.in);

System.out.print("출력하고자 하는 구구단 수를 입력하세요 : ");

s.init(sc.nextInt());

s.out();

}


}

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

// 학점을 입력받아 등급을 출력하는 class 작성


import java.util.Scanner;


class Grade{

public String score(int a){

if(a>=90){

return "수";

}else if(a>=80){

return "우";

}else if(a>=70){

return "미";

}else if(a>=60){

return "양";

}else{

return "가";

}

}

public void printsc(int x){

System.out.print("학점은 다음과 같습니다 : ");

System.out.println(score(x));

}

}


public class Sample {


private static Scanner sc;


public static void main(String[] args) {

sc = new Scanner(System.in);

System.out.println("학점을 입력하세요 : ");

int a = sc.nextInt();

Grade s = new Grade();

s.printsc(a);

}

}


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

// K♥O♥R♥E♥A♥S♥E♥O♥U♥L 출력


public class Addressbook {


public static void main(String[] args) {

StringBuffer aa = new StringBuffer("KOREASEOUL");

StringBuffer bb = new StringBuffer(); // bb 라는 StringBuffer 객체 생성


for(int i=1;i<aa.length();i=i+2){ // ♥를 사이사이에 입력하는 반복문

bb = aa.insert(i,"♥"); //StringBuffer에 있는 intert라는 메소드를 사용해서 i번째에 하트를 입력

}

System.out.println(bb);

}

}



Posted by saudades

댓글을 달아 주세요

2013.09.11 17:06

int i;

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

if(i%3==0){

System.out.println(i+"김영철");

}else{

}

}

System.out.println(i);

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

public static void main(String[] args) {

// TODO Auto-generated method stub

int i, sum=0;

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

sum = sum+i;

}

System.out.println(sum);

}

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

int i, osum=0, isum=0;

for(i=1; i<=100; i++){

if(i%2==0){//짝수의 합

isum=isum+i;

}else{//홀수의 합

osum=osum+i;

}

}

System.out.println(osum);

System.out.println(isum);

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

int i, sum=0;

for(i=1;i<=100;i++){

sum=i+sum;

if(sum>3000){

System.out.println(i);

break;

}else{

System.out.println(sum);

}

}

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

Random rn = new Random(); // 임의의 숫자 생성 객체 선언

Scanner sc = new Scanner(System.in); //

int a=rn.nextInt(100)+1;

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

System.out.print("숫자를 입력하세요 :");

int b=sc.nextInt();

if(a == b){

System.out.println("정답입니다.");

return;

}else if(b>a){

System.out.println("입력한 숫자보다 작은 수입니다.");

}else{

System.out.println("입력한 숫자보다 큰 수 입니다.");

}

}

System.out.println("틀렸습니다");

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


Scanner sc = new Scanner(System.in);

while(true){

System.out.println("계속할까요?(y/N)");

String q=sc.next();

System.out.println(q);

if(q.equals("n")||q.equals("N")){

break;

}else{

}

}

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

int i, j;

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

for(j=1;j<=9;j++){

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

}

}

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

int i,j,k;

for(i=1; i<=5; i++){

for(j=1;j<=3;j++){

for(k=1;k<=5;k++){

if(i*200+j*300+k*100==2000){

System.out.println("사과의 갯수는 "+i+"개");

System.out.println("배의 갯수는 "+j+"개");

System.out.println("귤의 갯수는 "+k+"개");

}else{

}

}

}

}

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

public static void main(String[] args) {

int []a={26,45,65,23,87,97};//배열의 초기화

int cn=0;

for(int i=0;i<a.length;i++){

if(a[i]%2==1){

cn++;

System.out.println(a[i]);

}

}

System.out.println(cn);

}

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

int []a={26,45,65,23,87,97};//배열의 초기화

int []b={5,6,7,8,3,1,3};

int c[]=new int[a.length+b.length];

System.out.println("배열c의 길이는 "+c.length+"입니다.");

System.arraycopy(a, 0, c, 0, a.length);

System.arraycopy(b, 0, c, a.length, b.length);

for(int i=0;i<c.length;i++){

System.out.print(c[i]);

}

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

int a[][]=new int[3][3];

int i,j,k=0;//k는 데이터 입력을 위한 변수

for (i=0;i<=2;i++){

for(j=0;j<=2-i;j++){

k++;

a[i][j]=k;

System.out.print(a[i][j]);

}

System.out.println();

}

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

int a[][]=new int[5][5];

int i,j,k=0;//k는 데이터 입력을 위한 변수

for (i=0;i<=4;i++){

if(i%2==0){

for(j=0;j<=4;j++){

k++;

a[i][j]=k;

}

}else{

for(j=4;j>=0;j--){

k++;

a[i][j]=k;

}

}

}

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

for (i=0;i<=4;i++){

for(j=0;j<=4;j++){

System.out.print(a[i][j]+"\t");

}

System.out.println();

}


int a[][]=new int[5][5];

int i,j,k=0;//k는 데이터 입력을 위한 변수

int p=1,c=-1;

for (i=0;i<=4;i++){ // i=0행 짝수행

for(j=0;j<=4;j++){

k++;

c=c+p;

a[i][c]=k;

}

c=c+p;

p=p*-1;

}

for (i=0;i<=4;i++){

for(j=0;j<=4;j++){

System.out.print(a[i][j]+"\t");

}

System.out.println();

}

Posted by saudades

댓글을 달아 주세요

2013.09.10 17:28

========================================================
  int a,b,sum;
  a = -1;
  b = 65535;
  sum = a+b;
  System.out.println(a+"+"+b+"="+sum);
========================================================
  // 두수를 입력하여 합,곱,몫,나머지를 구하시오.
  
  int a, b, sum, mul, div, res;
  a = 1;
  b = 1;
  sum = a+b;
  mul = a*b;
  div = a/b;
  res = a%b;
  System.out.println(a+"+"+b+"="+sum);
  System.out.println(a+"+"+b+"="+mul);
  System.out.println(a+"+"+b+"="+div);
  System.out.println(a+"+"+b+"="+res);
========================================================
  // 국어, 영어, 수학을 입력하고, 총점과 평균을 구하시오.
  
  int kor, eng, math, total;
  double average;
  
  kor = 60;
  eng = 70;
  math = 70;
  total = kor+eng+math;
  average = (total) / 3.0;
  
  /* 실수 = 정수 / 실수
   * 실수 = 실수 / 실수
   * 정수 = 실수 / 정수
   */
  
  System.out.println("세 과목 점수의 총합은 "+total+"입니다.");
  System.out.println("세 과목 점수의 평균은 "+average+"입니다.");
========================================================
  // 국어, 영어, 수학을 입력하고, 총점과 평균을 구하시오.
  
  int kor, eng, math, total;
  double average;
  
  Scanner sc = new Scanner(System.in); // system으로 입력 받을 객체 생성
  System.out.print("국어 점수를 입력하세요 : ");
  kor = sc.nextInt(); // 입력한 값을 변수에 입력
  System.out.print("영어 점수를 입력하세요 : ");
  eng = sc.nextInt();
  System.out.print("수학 점수를 입력하세요 : ");
  math = sc.nextInt();
  total = kor+eng+math;
  average = (total) / 3.0; 
  sc.close();
  
  /* 실수 = 정수 / 실수
   * 실수 = 실수 / 실수
   * 정수 = 실수 / 정수
   */
  
  System.out.println("세 과목 점수의 총합은 "+total+"입니다.");
  System.out.println("세 과목 점수의 평균은 "+average+"입니다.");
========================================================
  Scanner sc = new Scanner(System.in);
  String name;
  int a;
  System.out.print("이름을 입력하세요 : ");
  name = sc.nextLine();
  System.out.print("숫자를 입력하세요 : ");
  a = sc.nextInt();
  System.out.println(name);
  System.out.println(a);
========================================================
  // 국어, 영어, 수학을 입력하고, 총점과 평균을 구하시오.
  
  int kor, eng, math, total;
  double average;
  
  Scanner sc = new Scanner(System.in); // system으로 입력 받을 객체 생성
  System.out.print("국어 점수를 입력하세요 : ");
  kor = sc.nextInt(); // 입력한 값을 변수에 입력
  System.out.print("영어 점수를 입력하세요 : ");
  eng = sc.nextInt();
  System.out.print("수학 점수를 입력하세요 : ");
  math = sc.nextInt();
  total = kor+eng+math;
  average = (total) / 3.0; 
  sc.close();
  
  /* 실수 = 정수 / 실수
   * 실수 = 실수 / 실수
   * 정수 = 실수 / 정수
   */
  
  System.out.println("세 과목 점수의 총합은 "+total+"입니다.");
  System.out.println("세 과목 점수의 평균은 "+average+"입니다.");
  
  if((average>=60)|| (kor>=40)||(eng>=40)||(math>=40)){
   System.out.println("합격");
  }else{
   System.out.println("불합격");
  }
========================================================
  System.out.print("숫자를 입력하세요 : ");
  Scanner sc = new Scanner(System.in);
  int a = sc.nextInt();
  
  if(a%2==0){
   System.out.println(a+"는 짝수입니다.");
  }else{
   System.out.println(a+"는 홀수입니다.");
  }
========================================================
Modifier and Type에 static 형이 나오면 class.method를 입력해야 함

  System.out.print("숫자를 입력하세요 : ");
  Scanner sc = new Scanner(System.in);
  int a = sc.nextInt();
  
  System.out.println(Integer.toBinaryString(a));
  System.out.println(Integer.toOctalString(a));
  System.out.println(Integer.toHexString(a));
========================================================

Posted by saudades

댓글을 달아 주세요

2013.09.10 00:26

다음과 같이 출력하는 프로그램을 작성하시오.

 

ㅋㅋㅋ

ㅎㅎㅎㅎㅎ

ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

나는 아래와 같이 작성해봤다.


/* 1. 첫 라인에는 ㅎ을 출력하고, 다음라인에는 ㅋ을 출력
 * 2. 1,3,5,7,9의 홀수에 출력하고, 글자수로 1,3,5,7,9로 맞출것
 * 즉, 다음과 같이 출력되어야 한다.
 * ㅎ
 * ㅋㅋㅋ
 * ㅎㅎㅎㅎㅎ
 * ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
 *
 * 길이가 2인 배열에 글자를 입력,
 * 배열은 0부터 시작하므로, 1인 변수 a를 만들어서, a가 배열의 길이보다 작으면 +1, 크면 -1
 *
 */

public class PrintChar {
 public static void main(String[] args){
  String[] i = {"ㅎ","ㅋ"};
  int a=1;
  for(int b=1; b<10; b++){
   if(b%2==1){
    if(a < i.length){
     for(int c=0; c<b; c++){
     System.out.print(i[a-1]);
     }
     a++;
     }else{
      for(int c=0; c<b; c++){
      System.out.print(i[a-1]);
      }
      a--;
     }
   }else{
    System.out.println();
   }
   
  }
 } 
}

Posted by saudades

댓글을 달아 주세요